<?php
class icp_ingreso{

    function icp_ingreso(){               
        $this->sql = new DmpSql();      
    }

        function busca_cp_ingreso_general($fechai,$fechaf,$idcp_origen,$busqueda){
        $busqueda=trim($busqueda);
        list($serie,$numero) = explode("-",$busqueda);
        if($busqueda==null || $busqueda==""){
            $concatena_fecha=" AND cp_ingreso.fecha>='".$fechai."' AND cp_ingreso.fecha<='".$fechaf."' ";
            $concatena_serie_numero="";
        }else{
            $concatena_fecha="";
            $concatena_serie_numero=" AND cp_ingreso.serie LIKE '".$serie."%' AND cp_ingreso.numero LIKE '".$numero."%' ";
        }
        if($idcp_origen==0){
            $concatena_origen="";
        }else{
            $concatena_origen=" AND cp_ingreso.idcp_origen='".$idcp_origen."' ";
        }

        $sql="SELECT DISTINCT
          cp_ingreso.idcp_ingreso,
          cp_ingreso.idtipo_cp,
          tipo_cp.descripcion AS tipo_cp,
          tipo_cp.codigo_pdt,
          cp_ingreso.idcp_origen,
          cp_origen.nombre AS origen,
          cp_ingreso.idusuario,
          persona.apellido_p,
          persona.apellido_m,
          persona.nombres,
          cp_ingreso.idmoneda,
          moneda.simbolo,
          moneda.descripcion AS moneda,
          cp_ingreso.idlugar,
          lugar.nombre AS lugar,
          cp_ingreso.serie,
          cp_ingreso.numero,
          cp_ingreso.fecha,
          cp_ingreso.total,
          cp_ingreso.esta_activo,
          cp_ingreso.esta_anulada,
          cp_ingreso.esta_pagada,
          cp_ingreso.ruc,
          cp_ingreso.razon_social,
          cp_ingreso.fecha_pago,
          cp_ingreso.igv,
          cp_ingreso.monto_afecto,
          cp_ingreso.monto_inafecto,
          cp_ingreso.monto_nota_credito,
          cp_ingreso.fecha_vencimiento,
          cp_ingreso.pago_acuenta,
          cp_ingreso_referencia.idcp_ingreso_referencia,
          cp_ingreso_referencia.serie_referencia,
          cp_ingreso_referencia.numero_referencia,
          cp_ingreso2.idtipo_cp AS idtipo_referencia,
          tipo_cp2.descripcion AS tipo_referencia,
          cp_ingreso2.esta_anulada AS esta_anulada_referencia,
          cp_ingreso_referencia1.idcp_ingreso AS idcp_factura,
          cp_ingreso_referencia1.serie AS serie_factura,
          cp_ingreso_referencia1.numero AS numero_factura,
          cp_ingreso1.idtipo_cp AS idtipo_factura,
          tipo_cp1.descripcion AS tipo_factura,
          cp_ingreso1.esta_anulada AS esta_anulada_factura,
          cpv_farmacia.idcpv_farmacia,
          cpv_admision.idcpv_admision,
          factura_aseguradora.idcp_aseguradora
        FROM
          cp_ingreso
          INNER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
          INNER JOIN cp_origen ON (cp_ingreso.idcp_origen = cp_origen.idcp_origen)
          INNER JOIN persona ON (cp_ingreso.idusuario = persona.idpersona)
          INNER JOIN moneda ON (cp_ingreso.idmoneda = moneda.idmoneda)
          INNER JOIN lugar ON (cp_ingreso.idlugar = lugar.idlugar)
          LEFT OUTER JOIN cp_ingreso_referencia ON (cp_ingreso.idcp_ingreso = cp_ingreso_referencia.idcp_ingreso)
          LEFT OUTER JOIN cp_ingreso_referencia cp_ingreso_referencia1 ON (cp_ingreso.idcp_ingreso = cp_ingreso_referencia1.idcp_ingreso_referencia)
          LEFT OUTER JOIN cp_ingreso cp_ingreso1 ON (cp_ingreso_referencia1.idcp_ingreso = cp_ingreso1.idcp_ingreso)
          LEFT OUTER JOIN tipo_cp tipo_cp1 ON (cp_ingreso1.idtipo_cp = tipo_cp1.idtipo_cp)
          LEFT OUTER JOIN cp_ingreso cp_ingreso2 ON (cp_ingreso_referencia.idcp_ingreso_referencia = cp_ingreso2.idcp_ingreso)
          LEFT OUTER JOIN tipo_cp tipo_cp2 ON (cp_ingreso2.idtipo_cp = tipo_cp2.idtipo_cp)
          LEFT OUTER JOIN cpv_admision ON (cp_ingreso.idcp_ingreso = cpv_admision.idcpv_admision)
          LEFT OUTER JOIN cpv_farmacia ON (cp_ingreso.idcp_ingreso = cpv_farmacia.idcpv_farmacia)
          LEFT OUTER JOIN factura_aseguradora ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
        WHERE
          cp_ingreso.esta_activo='1'
          ".$concatena_origen."
          ".$concatena_fecha."
          ".$concatena_serie_numero."
        ORDER BY
          cp_ingreso.fecha DESC, cp_ingreso.numero ASC, cp_ingreso.fecha ASC";
        //echo $sql;
        $result=$this->sql->consultar($sql,"sigh");

        while(!!$fila=mysql_fetch_array($result)){
            $registro[idcp_ingreso][$fila["idcp_ingreso"]]=$fila["idcp_ingreso"];
            $registro[idcpv_farmacia][$fila["idcp_ingreso"]]=$fila["idcpv_farmacia"];
            $registro[idcpv_admision][$fila["idcp_ingreso"]]=$fila["idcpv_admision"];
            $registro[idcp_aseguradora][$fila["idcp_ingreso"]]=$fila["idcp_aseguradora"];
            $registro[idtipo_cp][$fila["idcp_ingreso"]]=$fila["idtipo_cp"];
            $registro[tipo_cp][$fila["idcp_ingreso"]]=$fila["tipo_cp"];
            $registro[codigo_pdt][$fila["idcp_ingreso"]]=$fila["codigo_pdt"];
            $registro[idcp_origen][$fila["idcp_ingreso"]]=$fila["idcp_origen"];
            $registro[origen][$fila["idcp_ingreso"]]=$fila["origen"];
            $registro[idusuario][$fila["idcp_ingreso"]]=$fila["idusuario"];
            $registro[apellido_p][$fila["idcp_ingreso"]]=$fila["apellido_p"];
            $registro[apellido_m][$fila["idcp_ingreso"]]=$fila["apellido_m"];
            $registro[nombres][$fila["idcp_ingreso"]]=$fila["nombres"];
            $registro[idmoneda][$fila["idcp_ingreso"]]=$fila["idmoneda"];
            $registro[simbolo][$fila["idcp_ingreso"]]=$fila["simbolo"];
            $registro[moneda][$fila["idcp_ingreso"]]=$fila["moneda"];
            $registro[idlugar][$fila["idcp_ingreso"]]=$fila["idlugar"];
            $registro[lugar][$fila["idcp_ingreso"]]=$fila["lugar"];
            $registro[serie][$fila["idcp_ingreso"]]=$fila["serie"];
            $registro[numero][$fila["idcp_ingreso"]]=$fila["numero"];
            $registro[fecha][$fila["idcp_ingreso"]]=$fila["fecha"];
            $registro[total][$fila["idcp_ingreso"]]=$fila["total"];
            $registro[esta_activo][$fila["idcp_ingreso"]]=$fila["esta_activo"];
            $registro[esta_anulada][$fila["idcp_ingreso"]]=$fila["esta_anulada"];
            $registro[esta_pagada][$fila["idcp_ingreso"]]=$fila["esta_pagada"];
            $registro[razon_social][$fila["idcp_ingreso"]]=$fila["razon_social"];
            $registro[ruc][$fila["idcp_ingreso"]]=$fila["ruc"];
            $registro[fecha_pago][$fila["idcp_ingreso"]]=$fila["fecha_pago"];
            $registro[igv][$fila["idcp_ingreso"]]=$fila["igv"];
            $registro[monto_afecto][$fila["idcp_ingreso"]]=$fila["monto_afecto"];
            $registro[monto_inafecto][$fila["idcp_ingreso"]]=$fila["monto_inafecto"];
            $registro[monto_nota_credito][$fila["idcp_ingreso"]]=$fila["monto_nota_credito"];
            $registro[fecha_vencimiento][$fila["idcp_ingreso"]]=$fila["fecha_vencimiento"];
            $registro[pago_acuenta][$fila["idcp_ingreso"]]=$fila["pago_acuenta"];
            //datos de las notas de credito q afectan al cp
            $registro[idcp_ingreso_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["idcp_ingreso_referencia"];
            $registro[serie_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["serie_referencia"];
            $registro[numero_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["numero_referencia"];
            $registro[idtipo_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["idtipo_referencia"];
            $registro[tipo_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["tipo_referencia"];
            $registro[esta_anulada_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["esta_anulada_referencia"];
            //de tratarse de una nota de  credito estos son los datos de la factura q afectan
            $registro[idcp_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["idcp_factura"];
            $registro[serie_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["serie_factura"];
            $registro[numero_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["numero_factura"];
            $registro[idtipo_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["idtipo_factura"];
            $registro[tipo_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["tipo_factura"];
            $registro[esta_anulada_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["esta_anulada_factura"];
        }
        return $registro;
    }
    
      function busca_cp_ingreso_aseguradora_rechazo($idadmision){
        //busca los cp de esa admision que esten anuladas o tengan nota de credito (lo puse de esta forma ia que al querer recorrerlo 4 veces solo funciona un while)
        $sql="SELECT
          cp_ingreso.idcp_ingreso,
          cp_ingreso.serie,
          cp_ingreso.numero
        FROM
          cp_ingreso
          INNER JOIN factura_aseguradora ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
          INNER JOIN admision_factura_aseguradora ON (factura_aseguradora.idcp_aseguradora = admision_factura_aseguradora.idcp_aseguradora)
        WHERE
          admision_factura_aseguradora.idadmision = '".$idadmision."' AND
          (cp_ingreso.esta_anulada = '1' OR
          cp_ingreso.monto_nota_credito IS NOT NULL)
        ORDER BY
          cp_ingreso.idcp_ingreso";
        $result=$this->sql->consultar($sql,"sigh");
        //echo $sql;
        $i=0;
        while(!!$fila=mysql_fetch_array($result)){
            $registro[idcp_ingreso][$i]=$fila["idcp_ingreso"];
            $registro[serie][$i]=$fila["serie"];
            $registro[numero][$i]=$fila["numero"];
            $i++;
        }
    	return $registro;
    }
     function busca_cp_ingreso($serie,$numero,$idtipo_cp){
    	//funcion que busca en la tabla cp_ingreso la existencia del cp en cuestion

        $sql="SELECT
		  idcp_ingreso
		FROM
		  cp_ingreso
		WHERE
		  serie='".$serie."' AND
		  numero='".$numero."' AND
		  idtipo_cp='".$idtipo_cp."'";
    	$result=$this->sql->consultar($sql,"sigh");
    	return $result;
    }
	function cp_ingreso_reporte_movimiento($fechai,$fechaf,$idfarmacia){
        //farmacia
    	if($idfarmacia==0){//todas las farmacias
    		$concatena_farmacia="";
    	}else{
    		$concatena_farmacia=" AND cpv_farmacia.idfarmacia='".$idfarmacia."'";
    	}
    	$i=0;
    	$sql="SELECT
		  cpv_farmacia.idfarmacia,
		  cp_ingreso.fecha,
		  detalle_cpv_farmacia.idproducto,
		  detalle_cpv_farmacia.cantidad,
		  detalle_cpv_farmacia.es_fraccion
		FROM
		  cpv_farmacia
		  INNER JOIN detalle_cpv_farmacia ON (cpv_farmacia.idcpv_farmacia = detalle_cpv_farmacia.idcpv_farmacia)
		  INNER JOIN cp_ingreso ON (cpv_farmacia.idcpv_farmacia = cp_ingreso.idcp_ingreso)
		WHERE
		  cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  ".$concatena_farmacia."";
    	$result=$this->sql->consultar($sql,"sigh");

        while(!!$fila=mysql_fetch_array($result)){
        	//dado q aca clasificamos viendo q cantidad es fraccion
        	if($fila["es_fraccion"]==1){
        		$registro["fraccion"][$fila["idproducto"]]+=$fila["cantidad"];
        	}else{
        		$registro["cantidad"][$fila["idproducto"]]+=$fila["cantidad"];
        	}

        	$i++;
        }
        return $registro;
    }
    
    function ventas_admision_x_responsable_x_asegurados($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idlugar_admision,$idusuario,$es_asegurado,$medico){//tienen como empresa responsable a clinica belen

    	if($idlugar_admision==0){//todas los lugares de admision
    		$concatena_lugar_admision="";
    	}else{
    		$concatena_lugar_admision=" AND cpv_admision.idlugar_admision='".$idlugar_admision."'";
    	}
    	if($idaseguradora=="p"){//particular
    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora IS NULL";
    	}else{
    		if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";//los filtro al otro lado
	    	}else{
	    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
    	if($serie==null){//todas las series
    		$concatena_serie="";
    	}else{
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}
    	if($es_asegurado==1){
    		$concatena_es_asegurado=" OR producto_aseguradora.idaseguradora IS NOT NULL";
    	}else{
    		$concatena_es_asegurado=" OR producto_aseguradora.idaseguradora IS NULL";
    	}
    	if($medico==1){//indica si todos tienen idresponsable o no (pa evitar repetir too esto)
    		$concatena_medico=" AND detalle_cpv_admision.idresponsable_personal IS NOT NULL";
    	}else{
    		$concatena_medico=" AND detalle_cpv_admision.idresponsable_personal IS NULL";
    	}

    	$sql="SELECT
		  detalle_cpv_admision.idresponsable_personal,
		  IF(cp_ingreso.idtipo_cp=1, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.monto,detalle_cpv_admision.monto*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_fact,
		  IF(cp_ingreso.idtipo_cp=1, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.igv_servicio,detalle_cpv_admision.igv_servicio*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_igv_fact,
		  IF(cp_ingreso.idtipo_cp=2, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.monto,detalle_cpv_admision.monto*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_bol,
		  IF(cp_ingreso.idtipo_cp=2, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.igv_servicio,detalle_cpv_admision.igv_servicio*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_igv_bol,
		  IF(cp_ingreso.idtipo_cp=3, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.monto,detalle_cpv_admision.monto*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_nota,
		  IF(cp_ingreso.idtipo_cp=3, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.igv_servicio,detalle_cpv_admision.igv_servicio*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_igv_nota,
		  persona.apellido_p,
		  persona.apellido_m,
		  persona.nombres
		FROM
		  cp_ingreso
		  INNER JOIN cpv_admision ON (cpv_admision.idcpv_admision = cp_ingreso.idcp_ingreso)
		  INNER JOIN detalle_cpv_admision ON (cpv_admision.idcpv_admision = detalle_cpv_admision.idcpv_admision)
		  LEFT OUTER JOIN persona ON (detalle_cpv_admision.idresponsable_personal = persona.idpersona)
		  LEFT OUTER JOIN admision ON (cpv_admision.idadmision = admision.idadmision)
		  LEFT OUTER JOIN producto_aseguradora ON (admision.idproducto_aseg = producto_aseguradora.idproducto_aseg)
		WHERE
		  detalle_cpv_admision.idresponsable_empresa='390'
		  ".$concatena_medico."
		  AND (admision.es_asegurado='".$es_asegurado."' ".$concatena_es_asegurado.")
		  AND cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  AND cp_ingreso.esta_anulada <> '1'
		  ".$concatena_aseguradora."
		  ".$concatena_lugar_admision."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
		GROUP BY
		  detalle_cpv_admision.idresponsable_personal,
		  cp_ingreso.idtipo_cp
		ORDER BY
		  persona.apellido_p,
		  persona.apellido_m,
		  persona.nombres";
    	$resultado=$this->sql->consultar($sql,"sigh");

        return $resultado;
    }

    function ventas_admision_x_empresa_x_asegurados($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idlugar_admision,$idusuario,$es_asegurado){//no tienen como empresa responsable a clinica belen

    	if($idlugar_admision==0){//todas los lugares de admision
    		$concatena_lugar_admision="";
    	}else{
    		$concatena_lugar_admision=" AND cpv_admision.idlugar_admision='".$idlugar_admision."'";
    	}
    	if($idaseguradora=="p"){//particular
    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora IS NULL";
    	}else{
    		if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";//los filtro al otro lado
	    	}else{
	    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
    	if($serie==null){//todas las series
    		$concatena_serie="";
    	}else{
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}
    	if($es_asegurado==1){
    		$concatena_es_asegurado=" OR producto_aseguradora.idaseguradora IS NOT NULL";
    	}else{
    		$concatena_es_asegurado=" OR producto_aseguradora.idaseguradora IS NULL";
    	}

    	$sql="SELECT
		  detalle_cpv_admision.idresponsable_empresa,
		  IF(cp_ingreso.idtipo_cp=1, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.monto,detalle_cpv_admision.monto*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_fact,
		  IF(cp_ingreso.idtipo_cp = 1, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.igv_servicio,detalle_cpv_admision.igv_servicio*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_igv_fact,
		  IF(cp_ingreso.idtipo_cp = 2, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.monto,detalle_cpv_admision.monto*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_bol,
		  IF(cp_ingreso.idtipo_cp = 2, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.igv_servicio,detalle_cpv_admision.igv_servicio*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_igv_bol,
		  IF(cp_ingreso.idtipo_cp = 3, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.monto,detalle_cpv_admision.monto*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_nota,
		  IF(cp_ingreso.idtipo_cp = 3, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.igv_servicio,detalle_cpv_admision.igv_servicio*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_igv_nota,
		  empresa.ruc,
		  empresa.razon_social
		FROM
		  cp_ingreso
		  INNER JOIN cpv_admision ON (cpv_admision.idcpv_admision = cp_ingreso.idcp_ingreso)
		  INNER JOIN detalle_cpv_admision ON (cpv_admision.idcpv_admision = detalle_cpv_admision.idcpv_admision)
		  LEFT OUTER JOIN admision ON (cpv_admision.idadmision = admision.idadmision)
		  LEFT OUTER JOIN producto_aseguradora ON (admision.idproducto_aseg = producto_aseguradora.idproducto_aseg)
		  INNER JOIN empresa ON (detalle_cpv_admision.idresponsable_empresa = empresa.idempresa)
		WHERE
		  detalle_cpv_admision.idresponsable_empresa<>'390'
		  AND (admision.es_asegurado='".$es_asegurado."' ".$concatena_es_asegurado.")
		  AND cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  AND cp_ingreso.esta_anulada <> '1'
		  ".$concatena_aseguradora."
		  ".$concatena_lugar_admision."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
		GROUP BY
		  detalle_cpv_admision.idresponsable_empresa,
		  cp_ingreso.idtipo_cp
		ORDER BY
		  empresa.razon_social";
    	$resultado=$this->sql->consultar($sql,"sigh");

        return $resultado;
    }

   function ventas_facturacion_x_responsable_x_asegurados($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idlugar_facturacion,$idusuario,$es_asegurado,$medico){//tienen como empresa responsable a clinica belen
           
    	if($idlugar_facturacion==0){//todas los lugares de admision
    		$concatena_lugar_facturacion="";
    	}else{
    		$concatena_lugar_facturacion=" AND factura_aseguradora.idlugar='".$idlugar_facturacion."'";
    	}
    	if($idaseguradora=="p"){//particular
    		$concatena_aseguradora=" AND factura_aseguradora.idaseguradora IS NULL";
    	}else{
    		if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";//los filtro al otro lado
	    	}else{
	    		$concatena_aseguradora=" AND factura_aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
    	if($serie==null){//todas las series
    		$concatena_serie="";
    	}else{
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}
       
    	if($medico==1){//indica si todos tienen idresponsable o no (pa evitar repetir too esto)
            $concatena_medico=" AND detalle_factura_aseguradora.idresponsable IS NOT NULL";
    	}else{
    		$concatena_medico=" AND detalle_factura_aseguradora.idresponsable IS NULL";
    	}

    	$sql="SELECT
		  if(detalle_factura_aseguradora.idresponsable is null,0,detalle_factura_aseguradora.idresponsable),
		  IF(cp_ingreso.idtipo_cp = 1, SUM(detalle_factura_aseguradora.monto), 0) AS sum_fact,
		  IF(cp_ingreso.idtipo_cp = 1, SUM(detalle_factura_aseguradora.igv), 0) AS sum_igv_fact,
		  IF(cp_ingreso.idtipo_cp = 2, SUM(detalle_factura_aseguradora.monto), 0) AS sum_bol,
		  IF(cp_ingreso.idtipo_cp = 2, SUM(detalle_factura_aseguradora.igv), 0) AS sum_igv_bol,
		  IF(cp_ingreso.idtipo_cp = 3, SUM(detalle_factura_aseguradora.monto), 0) AS sum_nota,
		  IF(cp_ingreso.idtipo_cp = 3, SUM(detalle_factura_aseguradora.igv), 0) AS sum_igv_nota,
		  persona.apellido_p,
		  persona.apellido_m,
		  persona.nombres
		FROM
          detalle_factura_aseguradora
          LEFT OUTER JOIN  persona ON (detalle_factura_aseguradora.idresponsable = persona.idpersona)
          INNER JOIN factura_aseguradora ON (factura_aseguradora.idcp_aseguradora = detalle_factura_aseguradora.idcp_aseguradora)
          INNER JOIN cp_ingreso ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
		WHERE
		  detalle_factura_aseguradora.idempresa_responsable='390'
		  ".$concatena_medico."
		  AND cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  AND cp_ingreso.esta_anulada <> '1'
		  ".$concatena_aseguradora."
		  ".$concatena_lugar_facturacion."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
		GROUP BY
		  detalle_factura_aseguradora.idresponsable,
		  cp_ingreso.idtipo_cp
		ORDER BY
		  persona.apellido_p,
		  persona.apellido_m,
		  persona.nombres";
    	$resultado=$this->sql->consultar($sql,"sigh");
     //echo "<br>".$sql;
       
        return $resultado;
    }
 

    function ventas_facturacion_x_empresa_x_asegurados($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idlugar_facturacion,$idusuario,$es_asegurado){//no tienen como empresa responsable a clinica belen

    	if($idlugar_facturacion==0){//todas los lugares de admision
    		$concatena_lugar_facturacion="";
    	}else{
    		$concatena_lugar_facturacion=" AND factura_aseguradora.idlugar='".$idlugar_facturacion."'";
    	}
    	if($idaseguradora=="p"){//particular
    		$concatena_aseguradora=" AND factura_aseguradora.idaseguradora IS NULL";
    	}else{
    		if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";//los filtro al otro lado
	    	}else{
	    		$concatena_aseguradora=" AND factura_aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
    	if($serie==null){//todas las series
    		$concatena_serie="";
    	}else{
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}
    	if($es_asegurado==1){
    		$concatena_es_asegurado=" OR factura_aseguradora.idaseguradora IS NOT NULL";
    	}else{
    		$concatena_es_asegurado=" OR factura_aseguradora.idaseguradora IS NULL";
    	}

    	$sql="SELECT
          detalle_factura_aseguradora.idempresa_responsable,
          IF(cp_ingreso.idtipo_cp = 1, SUM(detalle_factura_aseguradora.monto), 0) AS sum_fact,
          IF(cp_ingreso.idtipo_cp = 1, SUM(detalle_factura_aseguradora.igv), 0) AS sum_igv_fact,
          IF(cp_ingreso.idtipo_cp = 2, SUM(detalle_factura_aseguradora.monto), 0) AS sum_bol,
          IF(cp_ingreso.idtipo_cp = 2, SUM(detalle_factura_aseguradora.igv), 0) AS sum_igv_bol,
          IF(cp_ingreso.idtipo_cp = 3, SUM(detalle_factura_aseguradora.monto), 0) AS sum_nota,
          IF(cp_ingreso.idtipo_cp = 3, SUM(detalle_factura_aseguradora.igv), 0) AS sum_igv_nota,
          empresa.ruc,
          empresa.razon_social
        FROM
          detalle_factura_aseguradora
          INNER JOIN factura_aseguradora ON (factura_aseguradora.idcp_aseguradora = detalle_factura_aseguradora.idcp_aseguradora)
          INNER JOIN cp_ingreso ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
          INNER JOIN empresa ON (detalle_factura_aseguradora.idempresa_responsable = empresa.idempresa)
		WHERE
		  detalle_factura_aseguradora.idempresa_responsable<>'390'
		  AND cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  AND cp_ingreso.esta_anulada <> '1'
		  ".$concatena_aseguradora."
		  ".$concatena_lugar_admision."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
		GROUP BY
		  detalle_factura_aseguradora.idempresa_responsable,
		  cp_ingreso.idtipo_cp
		ORDER BY
		  empresa.razon_social";
    	$resultado=$this->sql->consultar($sql,"sigh");
       // echo $sql;
        return $resultado;
    }

    function ventas_admision_x_servicio_x_asegurados($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idlugar_admision,$idusuario,$es_asegurado){

    	if($idlugar_admision==0){//todas los lugares de admision
    		$concatena_lugar_admision="";
    	}else{
    		$concatena_lugar_admision=" AND cpv_admision.idlugar_admision='".$idlugar_admision."'";
    	}
    	if($idaseguradora=="p"){//particular
    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora IS NULL";
    	}else{
    		if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";//los filtro al otro lado
	    	}else{
	    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
    	if($serie==null){//todas las series
    		$concatena_serie="";
    	}else{
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}
    	if($es_asegurado==1){
    		$concatena_es_asegurado=" OR producto_aseguradora.idaseguradora IS NOT NULL";
    	}else{
    		$concatena_es_asegurado=" OR producto_aseguradora.idaseguradora IS NULL";
    	}

    	$sql="SELECT
		  detalle_cpv_admision.idservicio,
		  IF(cp_ingreso.idtipo_cp=1, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.monto,detalle_cpv_admision.monto*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_fact,
		  IF(cp_ingreso.idtipo_cp=1, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.igv_servicio,detalle_cpv_admision.igv_servicio*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_igv_fact,
		  IF(cp_ingreso.idtipo_cp=2, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.monto,detalle_cpv_admision.monto*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_bol,
		  IF(cp_ingreso.idtipo_cp=2, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.igv_servicio,detalle_cpv_admision.igv_servicio*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_igv_bol,
		  IF(cp_ingreso.idtipo_cp=3, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.monto,detalle_cpv_admision.monto*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_nota,
		  IF(cp_ingreso.idtipo_cp=3, SUM(IF(cp_ingreso.idmoneda=1,detalle_cpv_admision.igv_servicio,detalle_cpv_admision.igv_servicio*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_igv_nota,
		  servicio.descripcion
		FROM
		  cp_ingreso
		  INNER JOIN cpv_admision ON (cpv_admision.idcpv_admision = cp_ingreso.idcp_ingreso)
		  INNER JOIN detalle_cpv_admision ON (cpv_admision.idcpv_admision = detalle_cpv_admision.idcpv_admision)
		  LEFT OUTER JOIN admision ON (cpv_admision.idadmision = admision.idadmision)
		  LEFT OUTER JOIN producto_aseguradora ON (admision.idproducto_aseg = producto_aseguradora.idproducto_aseg)
		  INNER JOIN servicio ON (detalle_cpv_admision.idservicio = servicio.idservicio)
		WHERE
		  (admision.es_asegurado='".$es_asegurado."' ".$concatena_es_asegurado.")
		  AND cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  AND cp_ingreso.esta_anulada <> '1'
		  ".$concatena_aseguradora."
		  ".$concatena_lugar_admision."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
		GROUP BY
		  detalle_cpv_admision.idservicio,
		  cp_ingreso.idtipo_cp
		ORDER BY
		  servicio.descripcion";
    	$resultado=$this->sql->consultar($sql,"sigh");

        return $resultado;
    }

    function get_deducible_coaseguro_facturacion($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idlugar_facturacion,$idusuario){
    	if($idlugar_facturacion==0){//todas los lugares de admision
    		$concatena_lugar_facturacion="";
    	}else{
    		$concatena_lugar_facturacion=" AND factura_aseguradora.idlugar='".$idlugar_facturacion."'";
    	}
    	if($idaseguradora=="p"){//particular
    		$concatena_aseguradora=" AND aseguradora.idaseguradora IS NULL";
    	}else{
    		if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";//los filtro al otro lado
	    	}else{
	    		$concatena_aseguradora=" AND aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
    	if($serie==null){//todas las series
    		$concatena_serie="";
    	}else{
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}


    	$sql="SELECT
		  IF(cp_ingreso.idtipo_cp = 1, SUM(factura_aseguradora.coaseguro), 0) AS sum_fact_coa,
          IF(cp_ingreso.idtipo_cp = 1, SUM(factura_aseguradora.deducible), 0) AS sum_fact_dedu,
		  IF(cp_ingreso.idtipo_cp = 1, SUM(factura_aseguradora.igv_coaseguro), 0) AS sum_igv_fact_coa,
          IF(cp_ingreso.idtipo_cp = 1, SUM(factura_aseguradora.igv_deducible), 0) AS sum_igv_fact_dedu,
		  IF(cp_ingreso.idtipo_cp = 2, SUM(factura_aseguradora.coaseguro), 0) AS sum_bol_coa,
          IF(cp_ingreso.idtipo_cp = 2, SUM(factura_aseguradora.deducible), 0) AS sum_bol_dedu,
		  IF(cp_ingreso.idtipo_cp = 2, SUM(factura_aseguradora.igv_coaseguro), 0) AS sum_igv_bol_coa,
          IF(cp_ingreso.idtipo_cp = 2, SUM(factura_aseguradora.igv_deducible), 0) AS sum_igv_bol_dedu,
		  IF(cp_ingreso.idtipo_cp = 3, SUM(factura_aseguradora.coaseguro), 0) AS sum_nota_coa,
          IF(cp_ingreso.idtipo_cp = 3, SUM(factura_aseguradora.deducible), 0) AS sum_nota_dedu,
		  IF(cp_ingreso.idtipo_cp = 3, SUM(factura_aseguradora.igv_coaseguro), 0) AS sum_igv_nota_coa,
          IF(cp_ingreso.idtipo_cp = 3, SUM(factura_aseguradora.igv_deducible), 0) AS sum_igv_nota_dedu
        FROM
          cp_ingreso
          INNER JOIN factura_aseguradora ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
          INNER JOIN aseguradora ON (factura_aseguradora.idaseguradora = aseguradora.idaseguradora)
		WHERE
          cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  AND cp_ingreso.esta_anulada <> '1'
		  ".$concatena_aseguradora."
		  ".$concatena_lugar_facturacion."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
		GROUP BY
		  cp_ingreso.idtipo_cp";
       
    	$resultado=$this->sql->consultar($sql,"sigh");
        //echo $sql;
        return $resultado;
    }

    function ventas_facturacion_x_servicio_x_asegurados($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idlugar_facturacion,$idusuario,$es_asegurado){

    	if($idlugar_facturacion==0){//todas los lugares de admision
    		$concatena_lugar_facturacion="";
    	}else{
    		$concatena_lugar_facturacion=" AND factura_aseguradora.idlugar='".$idlugar_facturacion."'";
    	}
    	if($idaseguradora=="p"){//particular
    		$concatena_aseguradora=" AND aseguradora.idaseguradora IS NULL";
    	}else{
    		if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";//los filtro al otro lado
	    	}else{
	    		$concatena_aseguradora=" AND aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
    	if($serie==null){//todas las series
    		$concatena_serie="";
    	}else{
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}


    	$sql="SELECT
		  detalle_factura_aseguradora.idservicio,
		  IF(cp_ingreso.idtipo_cp = 1, SUM(detalle_factura_aseguradora.monto), 0) AS sum_fact,
		  IF(cp_ingreso.idtipo_cp = 1, SUM(detalle_factura_aseguradora.igv), 0) AS sum_igv_fact,
		  IF(cp_ingreso.idtipo_cp = 2, SUM(detalle_factura_aseguradora.monto), 0) AS sum_bol,
		  IF(cp_ingreso.idtipo_cp = 2, SUM(detalle_factura_aseguradora.igv), 0) AS sum_igv_bol,
		  IF(cp_ingreso.idtipo_cp = 3, SUM(detalle_factura_aseguradora.monto), 0) AS sum_nota,
		  IF(cp_ingreso.idtipo_cp = 3, SUM(detalle_factura_aseguradora.igv), 0) AS sum_igv_nota,
		  servicio.descripcion
        FROM
          cp_ingreso
          INNER JOIN factura_aseguradora ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
          INNER JOIN detalle_factura_aseguradora ON (factura_aseguradora.idcp_aseguradora = detalle_factura_aseguradora.idcp_aseguradora)
          INNER JOIN aseguradora ON (factura_aseguradora.idaseguradora = aseguradora.idaseguradora)
          INNER JOIN servicio ON (detalle_factura_aseguradora.idservicio = servicio.idservicio)
		WHERE
          cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  AND cp_ingreso.esta_anulada <> '1'
		  ".$concatena_aseguradora."
		  ".$concatena_lugar_facturacion."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
		GROUP BY
		  detalle_factura_aseguradora.idservicio,
		  cp_ingreso.idtipo_cp
		ORDER BY
		  servicio.descripcion";
    	$resultado=$this->sql->consultar($sql,"sigh");
        
        return $resultado;
    }
    function ventas_facturacion_x_aseguradora($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idlugar_facturacion,$idusuario){
    	if($idlugar_facturacion==0){//todas los lugares de admision
    		$concatena_lugar_facturacion="";
    	}else{
    		$concatena_lugar_facturacion=" AND factura_aseguradora.idlugar='".$idlugar_facturacion."'";
    	}
    	if($idaseguradora=="p"){//particular
    		$concatena_aseguradora=" AND aseguradora.idaseguradora IS NULL";
    	}else{
    		if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";
	    	}else{
	    		$concatena_aseguradora=" AND aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
    	if($serie==null){//todas las series
    		$concatena_serie="";
    	}else{
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}

    	$sql="SELECT
          aseguradora.idaseguradora,
          IF(cp_ingreso.idtipo_cp = 1, SUM(cp_ingreso.total), 0) AS sum_fact,
          IF(cp_ingreso.idtipo_cp = 2, SUM(cp_ingreso.total), 0) AS sum_bol,
          IF(cp_ingreso.idtipo_cp = 3, SUM(cp_ingreso.total), 0) AS sum_nota,
          empresa.razon_social,
          empresa.ruc
        FROM
          aseguradora
          INNER JOIN factura_aseguradora ON (factura_aseguradora.idaseguradora = aseguradora.idaseguradora)
          INNER JOIN cp_ingreso ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
          INNER JOIN empresa ON (aseguradora.idaseguradora = empresa.idempresa)
		WHERE
		  cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  AND cp_ingreso.esta_anulada <> '1'
		  ".$concatena_aseguradora."
		  ".$concatena_lugar_facturacion."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
		GROUP BY
		  aseguradora.idaseguradora,
		  cp_ingreso.idtipo_cp
		ORDER BY
		  empresa.razon_social";
        //echo $sql;
    	$resultado=$this->sql->consultar($sql,"sigh");
    
        return $resultado;
    }

    function ventas_admision_x_aseguradora($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idlugar_admision,$idusuario){
    	if($idlugar_admision==0){//todas los lugares de admision
    		$concatena_lugar_admision="";
    	}else{
    		$concatena_lugar_admision=" AND cpv_admision.idlugar_admision='".$idlugar_admision."'";
    	}
    	if($idaseguradora=="p"){//particular
    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora IS NULL";
    	}else{
    		if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";
	    	}else{
	    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
    	if($serie==null){//todas las series
    		$concatena_serie="";
    	}else{
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}

    	$sql="SELECT
		  producto_aseguradora.idaseguradora,
		  IF(cp_ingreso.idtipo_cp=1, SUM(IF(cp_ingreso.idmoneda=1,cp_ingreso.total,cp_ingreso.total*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_fact,
		  IF(cp_ingreso.idtipo_cp=2, SUM(IF(cp_ingreso.idmoneda=1,cp_ingreso.total,cp_ingreso.total*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_bol,
		  IF(cp_ingreso.idtipo_cp=3, SUM(IF(cp_ingreso.idmoneda=1,cp_ingreso.total,cp_ingreso.total*(SELECT cambio_moneda.venta FROM cambio_moneda WHERE cambio_moneda.idmoneda=cp_ingreso.idmoneda AND cambio_moneda.fecha=cp_ingreso.fecha))), 0) AS sum_nota,
		  empresa.razon_social,
		  empresa.ruc
		FROM
		  cp_ingreso
		  INNER JOIN cpv_admision ON (cp_ingreso.idcp_ingreso = cpv_admision.idcpv_admision)
		  LEFT OUTER JOIN admision ON (cpv_admision.idadmision = admision.idadmision)
		  LEFT OUTER JOIN producto_aseguradora ON (admision.idproducto_aseg = producto_aseguradora.idproducto_aseg)
		  LEFT OUTER JOIN empresa ON (producto_aseguradora.idaseguradora = empresa.idempresa)
		WHERE
		  cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  AND cp_ingreso.esta_anulada <> '1'
		  ".$concatena_aseguradora."
		  ".$concatena_lugar_admision."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
		GROUP BY
		  producto_aseguradora.idaseguradora,
		  cp_ingreso.idtipo_cp
		ORDER BY
		  empresa.razon_social";
      
    	$resultado=$this->sql->consultar($sql,"sigh");

        return $resultado;
    }

   function cp_ingreso_reporte_venta_admision($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idlugar_admision,$idusuario,$orden,$idmodalidad_pago){//reporte de venta de admision
    	if($idlugar_admision==0){//todas los lugares de admision
    		$concatena_lugar_admision="";
    	}else{
    		$concatena_lugar_admision=" AND cp_ingreso.idlugar='".$idlugar_admision."'";
    	}
    	if($idaseguradora=="p"){//particular
    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora IS NULL";
    	}else{
    		if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";
	    	}else{
	    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
    	if($serie==null){//todas las series
    		$concatena_serie="";
    	}else{
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}
    	if($orden==1){//por fecha ascendente
    		$concatena_orden=" fecha ASC";
    	}else{
    		if($orden==2){//numero comprobante ascendente
    			$concatena_orden=" idtipo_cp, serie, numero";
    		}else{//por importe, del mas alto al menor
    			$concatena_orden=" total DESC";
    		}
    	}
        if($idmodalidad_pago==0){
            $concatena_forma_pago="";
        }else{
            $concatena_forma_pago=" AND cp_ingreso_modalidad_pago.idmodalidad_pago='".$idmodalidad_pago."'";
        }

    	$sql="(SELECT
		  cp_ingreso.idcp_ingreso,
		  cp_ingreso.idtipo_cp,
		  CAST(cp_ingreso.serie as CHAR(3)) AS serie,
                  CAST(cp_ingreso.numero as CHAR(7)) AS numero,
		  cp_ingreso.fecha,
		  cp_ingreso.total,
		  cp_ingreso.idusuario,
		  cp_ingreso.esta_anulada,
		  cp_ingreso.ruc,
		  cp_ingreso.razon_social,
                  cp_ingreso.idmoneda,
		  cpv_admision.idlugar_admision,
		  cpv_admision.monto_afecto,
		  cpv_admision.monto_inafecto,
		  cpv_admision.igv,
		  producto_aseguradora.nombre_producto,
		  empresa.razon_social AS aseguradora,
		  persona.apellido_p,
		  persona.apellido_m,
		  persona.nombres,
		  tipo_cp.descripcion AS tipo_cp,
  		  tipo_cp.codigo_pdt,
                  cp_ingreso_modalidad_pago.monto,
                  cp_ingreso_modalidad_pago.idmodalidad_pago,
                  modalidad_pago.descripcion AS modalidad_pago,
                  persona1.documento_identificacion
		FROM
		  cp_ingreso
		  INNER JOIN cpv_admision ON (cp_ingreso.idcp_ingreso = cpv_admision.idcpv_admision)
		  LEFT OUTER JOIN admision ON (cpv_admision.idadmision = admision.idadmision)
		  LEFT OUTER JOIN producto_aseguradora ON (admision.idproducto_aseg = producto_aseguradora.idproducto_aseg)
		  LEFT OUTER JOIN empresa ON (producto_aseguradora.idaseguradora = empresa.idempresa)
		  INNER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
		  LEFT OUTER JOIN persona ON (cp_ingreso.idusuario = persona.idpersona)
                  LEFT OUTER JOIN cp_ingreso_modalidad_pago ON (cp_ingreso.idcp_ingreso = cp_ingreso_modalidad_pago.idcp_ingreso)
                  LEFT OUTER JOIN modalidad_pago ON (cp_ingreso_modalidad_pago.idmodalidad_pago = modalidad_pago.idmodalidad_pago)
                  LEFT OUTER JOIN persona persona1 ON (cp_ingreso.idpersona = persona1.idpersona)
		WHERE
		  cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  ".$concatena_aseguradora."
		  ".$concatena_lugar_admision."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
          ".$concatena_forma_pago.")

		UNION

		(SELECT
		  cp_ingreso.idcp_ingreso,
		  cp_ingreso.idtipo_cp,
		  CAST(cp_ingreso.serie as CHAR(3)) AS serie,
                 CAST(cp_ingreso.numero as CHAR(7)) AS numero,
		  cp_ingreso.fecha,
		  cp_ingreso.total,
		  cp_ingreso.idusuario,
		  cp_ingreso.esta_anulada,
		  cp_ingreso.ruc,
		  cp_ingreso.razon_social,
                  cp_ingreso.idmoneda,
		  cp_ingreso.idlugar,
		  cp_ingreso.monto_afecto,
		  cp_ingreso.monto_inafecto,
		  cp_ingreso.igv,
		  '--' AS nombre_producto,
		  '--' AS aseguradora,
		  persona.apellido_p,
		  persona.apellido_m,
		  persona.nombres,
		  tipo_cp.descripcion AS tipo_cp,
  		  tipo_cp.codigo_pdt,
                  cp_ingreso_modalidad_pago.monto,
                  cp_ingreso_modalidad_pago.idmodalidad_pago,
                  modalidad_pago.descripcion AS modalidad_pago,
                  persona1.documento_identificacion
		FROM
		  cp_ingreso
		  INNER JOIN tipo_cp ON (tipo_cp.idtipo_cp = cp_ingreso.idtipo_cp)
		  LEFT OUTER JOIN persona ON (cp_ingreso.idusuario = persona.idpersona)
		  LEFT OUTER JOIN empresa ON (cp_ingreso.idempresa = empresa.idempresa)
		  LEFT OUTER JOIN cpv_admision ON (cp_ingreso.idcp_ingreso = cpv_admision.idcpv_admision)
		  LEFT OUTER JOIN cpv_farmacia ON (cp_ingreso.idcp_ingreso = cpv_farmacia.idcpv_farmacia)
		  LEFT OUTER JOIN factura_aseguradora ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
                  LEFT OUTER JOIN cp_ingreso_modalidad_pago ON (cp_ingreso.idcp_ingreso = cp_ingreso_modalidad_pago.idcp_ingreso)
                  LEFT OUTER JOIN modalidad_pago ON (cp_ingreso_modalidad_pago.idmodalidad_pago = modalidad_pago.idmodalidad_pago)
                  LEFT OUTER JOIN persona persona1 ON (cp_ingreso.idpersona = persona1.idpersona)
		WHERE
		  cp_ingreso.idcp_origen='2' AND
		  cpv_admision.idcpv_admision IS NULL AND
          cpv_farmacia.idcpv_farmacia IS NULL AND
          factura_aseguradora.idcp_aseguradora IS NULL AND
		  cp_ingreso.fecha>='".$fechai."' AND
		  cp_ingreso.fecha<='".$fechaf."'
		  ".$concatena_lugar_admision."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
          ".$concatena_forma_pago.")
		ORDER BY
		  ".$concatena_orden."";
		//echo $sql;
		$resultado=$this->sql->consultar($sql,"sigh");

        return $resultado;
    }

   function cp_ingreso_reporte_venta_facturacion($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idlugar_facturacion,$idusuario,$orden){//reporte de venta de admision
    	if($idlugar_facturacion==0){//todas los lugares de facturacion
    		$concatena_lugar_facturacion="";
    	}else{
    		$concatena_lugar_facturacion=" AND cp_ingreso.idlugar='".$idlugar_facturacion."'";
    	}
    	if($idaseguradora=="p"){//particular
    		$concatena_aseguradora=" AND factura_aseguradora.idaseguradora IS NULL";
    	}else{
    		if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";
	    	}else{
	    		$concatena_aseguradora=" AND factura_aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
    	}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
        /* en el primer select solo salen las de facturacion y en el segundo todas menos las de facturacion, he quitado la session del origen pues
         * no dejaba saliar en la 12 las de admision 
         */
    	if($serie==null){//todas las series, pero no sale lo de
    		$concatena_serie="";
                $inner_serie="INNER";
                $inner_serie_factura="INNER";
    	}else{
                //he puesto el inner para que no se repitan las facturas de otros ingresos
                // pero alli salen las compradas por admision, sino en las de rosalina sale
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
                $inner_serie="INNER";
                $inner_serie_factura="INNER";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}
    	if($orden==1){//por fecha ascendente
    		$concatena_orden=" fecha,idtipo_cp,serie,numero";
    	}else{
    		if($orden==2){//numero comprobante ascendente
    			$concatena_orden=" idtipo_cp,serie,numero";
    		}else{//por importe, del mas alto al menor
    			$concatena_orden=" total DESC,idtipo_cp,serie,numero";
    		}
    	}

    	$sql="(SELECT
          cp_ingreso.idcp_ingreso,
          cp_ingreso.idtipo_cp,
          CAST(cp_ingreso.serie as CHAR(3)) AS serie,
          CAST(cp_ingreso.numero as CHAR(7)) AS numero,
          cp_ingreso.fecha,
          cp_ingreso.total,
          cp_ingreso.idusuario,
          cp_ingreso.esta_anulada,
          cp_ingreso.ruc,
          cp_ingreso.igv,
          cp_ingreso.razon_social,
          empresa.razon_social AS aseguradora,
          empresa.ruc AS aseguradora_ruc,
          persona.apellido_p,
          persona.apellido_m,
          persona.nombres,
          tipo_cp.descripcion AS tipo_cp,
          tipo_cp.codigo_pdt,
          cp_ingreso.monto_afecto,
          cp_ingreso.monto_inafecto
        FROM
          cp_ingreso
          ".$inner_serie_factura." JOIN factura_aseguradora ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
          ".$inner_serie." JOIN aseguradora ON (factura_aseguradora.idaseguradora = aseguradora.idaseguradora)
          INNER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
          INNER JOIN persona ON (cp_ingreso.idusuario = persona.idpersona)
          ".$inner_serie." JOIN empresa ON (aseguradora.idaseguradora = empresa.idempresa)
		WHERE
          cp_ingreso.fecha>='".$fechai."' AND
          cp_ingreso.fecha<='".$fechaf."'
		  ".$concatena_aseguradora."
		  ".$concatena_lugar_facturacion."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
        )
        UNION 
        (SELECT
          cp_ingreso.idcp_ingreso,
          cp_ingreso.idtipo_cp,
          CAST(cp_ingreso.serie as CHAR(3)) AS serie,
          CAST(cp_ingreso.numero as CHAR(7)) AS numero,
          cp_ingreso.fecha,
          cp_ingreso.total,
          cp_ingreso.idusuario,
          cp_ingreso.esta_anulada,
          cp_ingreso.ruc,
          cp_ingreso.igv,
          cp_ingreso.razon_social,
          '--' AS aseguradora,
          '--' AS aseguradora_ruc,
          persona.apellido_p,
          persona.apellido_m,
          persona.nombres,
          tipo_cp.descripcion AS tipo_cp,
          tipo_cp.codigo_pdt,
          cp_ingreso.monto_afecto,
          cp_ingreso.monto_inafecto
        FROM
          cp_ingreso
          LEFT OUTER JOIN persona ON (cp_ingreso.idpersona = persona.idpersona)
          LEFT OUTER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
          LEFT OUTER JOIN cpv_admision ON (cp_ingreso.idcp_ingreso = cpv_admision.idcpv_admision)
          LEFT OUTER JOIN cpv_farmacia ON (cp_ingreso.idcp_ingreso = cpv_farmacia.idcpv_farmacia)
          LEFT OUTER JOIN factura_aseguradora ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
        WHERE
            factura_aseguradora.idcp_aseguradora IS NULL AND
            cp_ingreso.fecha>='".$fechai."'
            AND cp_ingreso.fecha<='".$fechaf."'
		  ".$concatena_lugar_facturacion."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
        )
		ORDER BY
        ".$concatena_orden."";
        //echo $sql;
        /*
         *             cpv_admision.idcpv_admision IS NULL AND
            cpv_farmacia.idcpv_farmacia IS NULL AND
         *    cp_ingreso.idcp_origen='".$_SESSION[idcp_origen]."' AND
         */
	$resultado=$this->sql->consultar($sql,"sigh");

        return $resultado;
    }


      function cp_ingreso_reporte_venta($fechai,$fechaf,$idtipo_cp,$serie,$idaseguradora,$idfarmacia,$idusuario,$orden,$idmodalidad_pago){//reporte de venta de farmacia
    	if($idfarmacia==0){//todas las farmacias
    		$concatena_farmacia="";
    	}else{
    		$concatena_farmacia=" AND cp_ingreso.idlugar='".$idfarmacia."'";
    	}
    	if($idaseguradora=="p"){//todas las aseguradoras
    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora IS NULL";
		}else{
			if($idaseguradora==0){//todas las aseguradoras
	    		$concatena_aseguradora="";
	    	}else{
	    		$concatena_aseguradora=" AND producto_aseguradora.idaseguradora='".$idaseguradora."'";
	    	}
		}
    	if($idusuario==0){//todos los usuarios
    		$concatena_usuario="";
    	}else{
    		$concatena_usuario=" AND cp_ingreso.idusuario='".$idusuario."'";
    	}
    	if($serie==null){//todas las series
    		$concatena_serie="";
    	}else{
    		$concatena_serie=" AND cp_ingreso.serie='".$serie."'";
    	}
    	if($idtipo_cp=="x"){//facturas y boletas
    		$concatena_tipo_cp=" AND (cp_ingreso.idtipo_cp='1' OR cp_ingreso.idtipo_cp='2')";
    	}else{
    		if($idtipo_cp==0){
    			$concatena_tipo_cp="";//todos
    		}else{
    			$concatena_tipo_cp=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."'";
    		}
    	}
    	if($orden==1){//por fecha ascendente
    		$concatena_orden=" fecha ASC";
    	}else{
    		if($orden==2){//numero comprobante ascendente
    			$concatena_orden=" idtipo_cp, serie, numero";
    		}else{//por importe, del mas alto al menor
    			$concatena_orden=" total DESC";
    		}
    	}
        if($idmodalidad_pago==0){
            $concatena_forma_pago="";
        }else{
            $concatena_forma_pago=" AND cp_ingreso_modalidad_pago.idmodalidad_pago='".$idmodalidad_pago."'";
        }
    	$i=0;
    	$sql="(SELECT
		  cp_ingreso.idcp_ingreso,
		  cp_ingreso.idtipo_cp,
		  CAST(cp_ingreso.serie as CHAR(3)) AS serie,
          CAST(cp_ingreso.numero as CHAR(7)) AS numero,
		  cp_ingreso.fecha,
		  cp_ingreso.total,
		  cp_ingreso.idusuario,
		  cp_ingreso.ruc,
		  cp_ingreso.razon_social,
		  cp_ingreso.esta_anulada,
		  cpv_farmacia.idfarmacia,
		  cpv_farmacia.monto_afecto,
		  cpv_farmacia.monto_inafecto,
		  cpv_farmacia.igv,
		  tipo_cp.descripcion,
		  tipo_cp.codigo_pdt,
		  persona.nombres,
		  persona.apellido_p,
		  persona.apellido_m,
		  producto_aseguradora.nombre_producto,
		  empresa.razon_social AS aseguradora_razon_social,
          cp_ingreso_modalidad_pago.monto,
          cp_ingreso_modalidad_pago.idmodalidad_pago,
          modalidad_pago.descripcion AS modalidad_pago,
          persona1.documento_identificacion
		FROM
		  cp_ingreso
		  INNER JOIN cpv_farmacia ON (cp_ingreso.idcp_ingreso = cpv_farmacia.idcpv_farmacia)
		  INNER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
		  LEFT OUTER JOIN persona ON (cp_ingreso.idusuario = persona.idpersona)
		  LEFT OUTER JOIN admision ON (cpv_farmacia.idadmision = admision.idadmision)
		  LEFT OUTER JOIN producto_aseguradora ON (admision.idproducto_aseg = producto_aseguradora.idproducto_aseg)
		  LEFT OUTER JOIN empresa ON (producto_aseguradora.idaseguradora = empresa.idempresa)
          LEFT OUTER JOIN cp_ingreso_modalidad_pago ON (cp_ingreso.idcp_ingreso = cp_ingreso_modalidad_pago.idcp_ingreso)
          LEFT OUTER JOIN modalidad_pago ON (cp_ingreso_modalidad_pago.idmodalidad_pago = modalidad_pago.idmodalidad_pago)
          LEFT OUTER JOIN persona persona1 ON (cp_ingreso.idpersona = persona1.idpersona)
		WHERE
		  cp_ingreso.fecha>='".$fechai."'
		  AND cp_ingreso.fecha<='".$fechaf."'
		  ".$concatena_aseguradora."
		  ".$concatena_farmacia."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
          ".$concatena_forma_pago.")

		UNION

		  (SELECT
		  cp_ingreso.idcp_ingreso,
		  cp_ingreso.idtipo_cp,
		  CAST(cp_ingreso.serie as CHAR(3)) AS serie,
          CAST(cp_ingreso.numero as CHAR(7)) AS numero,
		  cp_ingreso.fecha,
		  cp_ingreso.total,
		  cp_ingreso.idusuario,
		  cp_ingreso.ruc,
		  cp_ingreso.razon_social,
		  cp_ingreso.esta_anulada,
		  cp_ingreso.monto_afecto,
		  cp_ingreso.monto_inafecto,
		  cp_ingreso.igv,
		  cp_ingreso.idlugar AS idfarmacia,
		  tipo_cp.descripcion,
		  tipo_cp.codigo_pdt,
		  persona.nombres,
		  persona.apellido_p,
		  persona.apellido_m,
		  '--' AS nombre_producto,
		  '--' AS aseguradora_razon_social,
          cp_ingreso_modalidad_pago.monto,
          cp_ingreso_modalidad_pago.idmodalidad_pago,
          modalidad_pago.descripcion AS modalidad_pago,
          persona1.documento_identificacion
		FROM
		  cp_ingreso
          LEFT OUTER JOIN persona ON (cp_ingreso.idpersona = persona.idpersona)
          LEFT OUTER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
          LEFT OUTER JOIN cpv_admision ON (cp_ingreso.idcp_ingreso = cpv_admision.idcpv_admision)
          LEFT OUTER JOIN cpv_farmacia ON (cp_ingreso.idcp_ingreso = cpv_farmacia.idcpv_farmacia)
          LEFT OUTER JOIN factura_aseguradora ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
          LEFT OUTER JOIN cp_ingreso_modalidad_pago ON (cp_ingreso.idcp_ingreso = cp_ingreso_modalidad_pago.idcp_ingreso)
          LEFT OUTER JOIN modalidad_pago ON (cp_ingreso_modalidad_pago.idmodalidad_pago = modalidad_pago.idmodalidad_pago)
          LEFT OUTER JOIN persona persona1 ON (cp_ingreso.idpersona = persona1.idpersona)
		WHERE
		  cp_ingreso.idcp_origen='1' AND
		  cpv_admision.idcpv_admision IS NULL AND
          cpv_farmacia.idcpv_farmacia IS NULL AND
          factura_aseguradora.idcp_aseguradora IS NULL AND
		  cp_ingreso.fecha>='".$fechai."' AND
		  cp_ingreso.fecha<='".$fechaf."'
		  ".$concatena_farmacia."
		  ".$concatena_usuario."
		  ".$concatena_serie."
		  ".$concatena_tipo_cp."
          ".$concatena_forma_pago.")
		ORDER BY
		  ".$concatena_orden."";
        //echo $sql;
		$result=$this->sql->consultar($sql,"sigh");

        while(!!$fila=mysql_fetch_array($result)){
            $registro[idcp_ingreso][$i]=$fila["idcp_ingreso"];
            $registro[idtipo_cp][$i]=$fila["idtipo_cp"];
			$registro[serie][$i]=$fila["serie"];
			$registro[numero][$i]=$fila["numero"];
			$registro[fecha][$i]=$fila["fecha"];
			$registro[total][$i]=$fila["total"];
			$registro[idusuario][$i]=$fila["idusuario"];
			$registro[ruc][$i]=$fila["ruc"];
			$registro[razon_social][$i]=$fila["razon_social"];
			$registro[esta_anulada][$i]=$fila["esta_anulada"];
			$registro[idfarmacia][$i]=$fila["idfarmacia"];
			$registro[monto_afecto][$i]=$fila["monto_afecto"];
			$registro[monto_inafecto][$i]=$fila["monto_inafecto"];
			$registro[igv][$i]=$fila["igv"];
			$registro[tipo_cp][$i]=$fila["descripcion"];
			$registro[codigo_pdt][$i]=$fila["codigo_pdt"];
			$registro[usu_nombres][$i]=$fila["nombres"];
			$registro[usu_apellido_p][$i]=$fila["apellido_p"];
			$registro[usu_apellido_m][$i]=$fila["apellido_m"];
			$registro[nombre_producto][$i]=$fila["nombre_producto"];
			$registro[aseguradora][$i]=$fila["aseguradora_razon_social"];
            $registro[monto][$i]=$fila["monto"];
            $registro[idmodalidad_pago][$i]=$fila["idmodalidad_pago"];
            $registro[modalidad_pago][$i]=$fila["modalidad_pago"];
            $registro[documento_identificacion][$i]=$fila["documento_identificacion"];
            $i++;
        }
        return $registro;
    }
   

    function series_ingreso_farmacia(){

    	$i=0;
        $sql="SELECT DISTINCT
		  cp_ingreso.serie
		FROM
		  cpv_farmacia
		  INNER JOIN cp_ingreso ON (cpv_farmacia.idcpv_farmacia = cp_ingreso.idcp_ingreso)
		ORDER BY
		  cp_ingreso.serie";

        $result=$this->sql->consultar($sql,"sigh");

        while(!!$fila=mysql_fetch_array($result)){
            $registro[serie][$i]=$fila["serie"];
            $i++;
        }
        return $registro;
    }
    
    
    function listar_cp_ingreso_admision($busqueda,$fecha_ini,$fecha_fin,$idtipo_cp){
       $busqueda=trim($busqueda);
    	if($idtipo_cp=="all"){//TODOS
    		if($busqueda!=null && $busqueda!=""){
	    		list($serie,$numero) = explode("-",$busqueda);
	    		$concatena=" AND cp_ingreso.serie LIKE '%".$serie."' AND cp_ingreso.numero LIKE '%".$numero."%' ";
	    	}else{
	    		$concatena="";
	    	    $concatena_fechas=" AND cp_ingreso.fecha>='".$fecha_ini."' AND cp_ingreso.fecha<='".$fecha_fin."' ";

	    	}
    	}else{//busqueda por tipo de comprobante
    		if($idtipo_cp=="adm"){//busqueda por admision
    			if($busqueda!=null && $busqueda!=""){
    				$condicion=" AND admision.idadmision='".$busqueda."' ";
    			}else{
    				$condicion="";
    			}
    			$concatena_fechas="";//cuando busca por admision no tomo las fechas
    		}else{
    			if($busqueda!=null && $busqueda!=""){
		    		list($serie,$numero) = explode("-",$busqueda);
		    		$concatena=" AND cp_ingreso.serie LIKE '".$serie."' AND cp_ingreso.numero LIKE '".$numero."%' ";
		    	}else{
		    		$concatena="";
                    $concatena_fechas=" AND cp_ingreso.fecha>='".$fecha_ini."' AND cp_ingreso.fecha<='".$fecha_fin."' ";

		    	}
	    		$condicion=" AND cp_ingreso.idtipo_cp='".$idtipo_cp."' ";
    		}    		
    	}
    	$i=0;
    	$sql="SELECT DISTINCT 
    	  admision.idadmision,
		  persona.nombres,
		  persona.apellido_p,
		  persona.apellido_m,
		  tipo_cp.descripcion AS dtipo_cp,
		  cp_ingreso.idcp_ingreso,
		  cp_ingreso.serie,
		  cp_ingreso.numero,
		  cp_ingreso.total,
		  cp_ingreso.fecha,
		  cp_ingreso.idtipo_cp,		  	  
		  cp_ingreso.razon_social,
		  cp_ingreso.ruc,
		  cp_ingreso.idusuario,
		  cp_ingreso.esta_anulada,
		  cp_ingreso.esta_pagada,
		  cp_ingreso.monto_nota_credito,
		  cp_ingreso_referencia.idcp_ingreso AS idcp_ingreso_ref,		  
		  cp_origen.descripcion AS dcp_origen,
		  cpv_admision.subtotal,
  		  cpv_admision.igv,
  		  moneda.simbolo,
  		  estado_factura.descripcion AS destado_factura
		FROM
		  cp_ingreso
		  INNER JOIN cpv_admision ON (cp_ingreso.idcp_ingreso = cpv_admision.idcpv_admision)
		  LEFT OUTER JOIN admision ON (cpv_admision.idadmision = admision.idadmision)
		  LEFT OUTER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
		  LEFT OUTER JOIN persona ON (admision.idpaciente = persona.idpersona)
		  LEFT OUTER JOIN cp_ingreso_referencia ON (cp_ingreso.idcp_ingreso = cp_ingreso_referencia.idcp_ingreso_referencia)
		  LEFT OUTER JOIN moneda ON (cp_ingreso.idmoneda = moneda.idmoneda)
  		  LEFT OUTER JOIN cp_origen ON (cp_ingreso.idcp_origen = cp_origen.idcp_origen)
  		  LEFT OUTER JOIN estado_factura ON (admision.idestado_factura = estado_factura.idestado_factura)
		WHERE 		  		  
		  cp_ingreso.esta_activo='1' 
		  ".$concatena_fechas."
		  ".$concatena." 
		  AND cp_origen.idcp_origen='2' 
		  ".$condicion." 
		ORDER BY
          cp_ingreso.fecha DESC,cp_ingreso.idcp_ingreso DESC";
        //echo $sql;
        $result=$this->sql->consultar($sql,"sigh");
       
        while(!!$fila=mysql_fetch_array($result)){

            $registro[idcp_ingreso][$i]=$fila["idcp_ingreso"];
            $registro[serie][$i]=$fila["serie"];
            $registro[numero][$i]=$fila["numero"];
            $registro[fecha][$i]=$fila["fecha"];
            $registro[simbolo][$i]=$fila["simbolo"];
            $registro[idtipo_cp][$i]=$fila["idtipo_cp"];
            $registro[tipo_cp][$i]=$fila["dtipo_cp"];
            $registro[cp_origen][$i]=$fila["dcp_origen"]; 
			$registro[subtotal][$i]=$fila["subtotal"];   
			$registro[igv][$i]=$fila["igv"];        
            $registro[total][$i]=$fila["total"];
            $registro[razon_social][$i]=$fila["razon_social"];
            $registro[ruc][$i]=$fila["ruc"];
            $registro[idcp_refer][$i]=$fila["idcp_ingreso_ref"];
            $registro[estado_factura][$i]=$fila["destado_factura"];
            $registro[esta_anulada][$i]=$fila["esta_anulada"];
            $registro[esta_pagada][$i]=$fila["esta_pagada"];
            $registro[idusuario][$i]=$fila["idusuario"]; 
			$registro[idadmision][$i]=$fila["idadmision"];
			$registro[monto_nota_credito][$i]=$fila["monto_nota_credito"];           
                        
            $i++;
        }
        return $registro;
        
    }
    
    function cp_ingreso_pago_comprobantes($idpago){

    	$sql="SELECT
              pago_cp_ingreso.idpago_cp_ingreso,
              cp_ingreso.idcp_ingreso,
              pago_cp_ingreso.fecha AS fecha_pago,
              pago_cp_ingreso.observacion,
              cp_ingreso.serie,
              cp_ingreso.numero,
              cp_ingreso.fecha AS cp_femision,
              cp_ingreso.razon_social AS cliente,
              tipo_cp.descripcion AS tipo_cp,
              pago_cp_ingreso.idcheque,
              cheque.numero AS cheque_numero,
              cheque.monto AS cheque_monto,
              cheque.fecha_emision AS cheque_femision,
              cheque.fecha_cobro AS cheque_fcobro,
              cheque.idpersona AS cheque_idpersona,
              cheque.observacion AS cheque_observacion,
              pago_cp_ingreso.idpersona AS idcliente,
              cp_ingreso.total,
              cp_ingreso.igv,
              cp_ingreso.monto_afecto,
              cp_ingreso.monto_inafecto,
              cp_ingreso.pago_acuenta,
              detalle_pago_cp_ingreso.monto_detraccion,
              detalle_pago_cp_ingreso.monto_retencion,
              detalle_pago_cp_ingreso.monto,
              moneda.simbolo,
              moneda.descripcion AS moneda,
              pago_cp_ingreso.idmoneda,
              pago_cp_ingreso.monto_cambio_moneda,
              cp_egreso.idcp_egreso,
              cp_egreso.serie AS serie_retencion,
              cp_egreso.numero AS numero_retencion,
              cp_egreso.fecha AS fecha_retencion,
              cp_egreso.total AS retenido_retencion,
              cp_egreso.porc_retencion,
              cp_egreso.idmoneda AS idmoneda_retencion,
              moneda3.descripcion AS moneda_retencion,
              moneda3.simbolo AS simbolo_retencion,
              pago_cp_ingreso.monto AS cuenta_detraccion,
              empresa.razon_social as banco_detraccion,
              empresa.ruc,
              cheque1.porc_detraccion,
              moneda1.simbolo AS simbolo_detraccion,
              cuenta_bancaria.idmoneda AS idmoneda_detraccion,
              moneda1.descripcion AS moneda_detraccion,
              cuenta_bancaria.idcuenta_bancaria as idcuenta_bancaria_detraccion,
              cheque1.numero AS cheque_detraccion,
              cheque1.fecha_emision AS fecha_detraccion,
              pago_cp_ingreso.idcheque_detraccion,
              cheque1.monto AS detraido_detraccion,
              cuenta_bancaria.numero_cuenta as numero_cuenta_detraccion,
              modalidad_pago.descripcion as modalidad_pago,
              cheque.idmodalidad_pago,
              cuenta_bancaria1.numero_cuenta,
              moneda2.simbolo as simbolo_cuenta_bancaria,
              empresa1.razon_social AS banco,
              cuenta_bancaria1.idcuenta_bancaria,
              (
                 SELECT
                  SUM(responsable_admision_servicio.esta_pagado_responsable)
                FROM
                  cp_ingreso as cpi
                  INNER JOIN factura_aseguradora  ON (cpi.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
                  INNER JOIN responsable_admision_servicio ON (factura_aseguradora.idcp_aseguradora = responsable_admision_servicio.idcp_aseguradora)
                WHERE
                cpi.idcp_ingreso=cp_ingreso.idcp_ingreso
                GROUP BY
                responsable_admision_servicio.idcp_aseguradora) as esta_pagado_algun_responsable
            FROM
              pago_cp_ingreso
              LEFT OUTER JOIN detalle_pago_cp_ingreso ON (pago_cp_ingreso.idpago_cp_ingreso = detalle_pago_cp_ingreso.idpago_cp_ingreso)
              LEFT OUTER JOIN cp_ingreso ON (detalle_pago_cp_ingreso.idcp_ingreso = cp_ingreso.idcp_ingreso)
              LEFT OUTER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
              LEFT OUTER JOIN cheque ON (pago_cp_ingreso.idcheque = cheque.idcheque)
              LEFT OUTER JOIN moneda ON (pago_cp_ingreso.idmoneda = moneda.idmoneda)
              LEFT OUTER JOIN pago_cp_ingreso_cp_egreso ON (pago_cp_ingreso.idpago_cp_ingreso = pago_cp_ingreso_cp_egreso.idpago_cp_ingreso)
              LEFT OUTER JOIN cp_egreso ON (pago_cp_ingreso_cp_egreso.idcp_egreso = cp_egreso.idcp_egreso)
              LEFT OUTER JOIN moneda moneda3 ON (cp_egreso.idmoneda = moneda3.idmoneda)
              LEFT OUTER JOIN cheque cheque1 ON (pago_cp_ingreso.idcheque_detraccion = cheque1.idcheque)
              LEFT OUTER JOIN cuenta_bancaria ON (cheque1.idcuenta_bancaria = cuenta_bancaria.idcuenta_bancaria)
              LEFT OUTER JOIN empresa ON (cuenta_bancaria.idbanco = empresa.idempresa)
              LEFT OUTER JOIN moneda moneda1 ON (cuenta_bancaria.idmoneda = moneda1.idmoneda)
              LEFT OUTER JOIN modalidad_pago ON (cheque.idmodalidad_pago = modalidad_pago.idmodalidad_pago)
              LEFT OUTER JOIN cuenta_bancaria cuenta_bancaria1 ON (cheque.idcuenta_bancaria = cuenta_bancaria1.idcuenta_bancaria)
              LEFT OUTER JOIN empresa empresa1 ON (cuenta_bancaria1.idbanco = empresa1.idempresa)
              LEFT OUTER JOIN moneda moneda2 ON (cuenta_bancaria1.idmoneda = moneda2.idmoneda)
            WHERE
              pago_cp_ingreso.idpago_cp_ingreso='".$idpago."'
            ORDER BY
              pago_cp_ingreso.fecha";
        //echo $sql."<br>";
    	$result=$this->sql->consultar($sql,"sigh");
    	//$i=0;
    	while(!!$fila=mysql_fetch_array($result)){
            $registro[idpago_cp_ingreso][$fila["idpago_cp_ingreso"]]=$fila["idpago_cp_ingreso"];
            $registro[fecha_pago][$fila["idpago_cp_ingreso"]]=$fila["fecha_pago"];
            $registro[observacion][$fila["idpago_cp_ingreso"]]=$fila["observacion"];
            $registro[simbolo][$fila["idpago_cp_ingreso"]]=$fila["simbolo"];
            $registro[moneda][$fila["idpago_cp_ingreso"]]=$fila["moneda"];
            $registro[idmoneda][$fila["idpago_cp_ingreso"]]=$fila["idmoneda"];
            $registro[monto_cambio_moneda][$fila["idpago_cp_ingreso"]]=$fila["monto_cambio_moneda"];
            //cheque
            $registro[idcheque][$fila["idpago_cp_ingreso"]]=$fila["idcheque"];
            $registro[cheque_numero][$fila["idpago_cp_ingreso"]]=$fila["cheque_numero"];
            $registro[cheque_monto][$fila["idpago_cp_ingreso"]]=$fila["cheque_monto"];
            $registro[cheque_femision][$fila["idpago_cp_ingreso"]]=$fila["cheque_femision"];
            $registro[cheque_fcobro][$fila["idpago_cp_ingreso"]]=$fila["cheque_fcobro"];
            $registro[cheque_idempresa][$fila["idpago_cp_ingreso"]]=$fila["cheque_idempresa"];
            $registro[cheque_observacion][$fila["idpago_cp_ingreso"]]=$fila["cheque_observacion"];
            $registro[cheque_idmodalidad_pago][$fila["idpago_cp_ingreso"]]=$fila["idmodalidad_pago"];
            $registro[cheque_modalidad_pago][$fila["idpago_cp_ingreso"]]=$fila["modalidad_pago"];
            //cliente
            $registro[idcliente][$fila["idpago_cp_ingreso"]]=$fila["idcliente"];
            $registro[cliente][$fila["idpago_cp_ingreso"]]=$fila["cliente"];
            //retencion
            $registro[idcp_egreso][$fila["idpago_cp_ingreso"]]=$fila["idcp_egreso"];
            $registro[serie_retencion][$fila["idpago_cp_ingreso"]]=$fila["serie_retencion"];
            $registro[numero_retencion][$fila["idpago_cp_ingreso"]]=$fila["numero_retencion"];
            $registro[fecha_retencion][$fila["idpago_cp_ingreso"]]=$fila["fecha_retencion"];
            $registro[retenido_retencion][$fila["idpago_cp_ingreso"]]=$fila["retenido_retencion"];
            $registro[idmoneda_retencion][$fila["idpago_cp_ingreso"]]=$fila["idmoneda_retencion"];
            $registro[moneda_retencion][$fila["idpago_cp_ingreso"]]=$fila["moneda_retencion"];
            $registro[simbolo_retencion][$fila["idpago_cp_ingreso"]]=$fila["simbolo_retencion"];
            $registro[porc_retencion][$fila["idpago_cp_ingreso"]]=$fila["porc_retencion"];
            //detraccion

            $registro[idcheque_detraccion][$fila["idpago_cp_ingreso"]]=$fila["idcheque_detraccion"];
            $registro[fecha_detraccion][$fila["idpago_cp_ingreso"]]=$fila["fecha_detraccion"];
            $registro[cheque_detraccion][$fila["idpago_cp_ingreso"]]=$fila["cheque_detraccion"];
            $registro[detraido_detraccion][$fila["idpago_cp_ingreso"]]=$fila["detraido_detraccion"];
            $registro[idcuenta_detraccion][$fila["idpago_cp_ingreso"]]=$fila["idcuenta_detraccion"];
            $registro[cuenta_detraccion][$fila["idpago_cp_ingreso"]]=$fila["cuenta_detraccion"];
            $registro[banco_detraccion][$fila["idpago_cp_ingreso"]]=$fila["banco_detraccion"];
            $registro[idmoneda_detraccion][$fila["idpago_cp_ingreso"]]=$fila["idmoneda_detraccion"];
            $registro[moneda_detraccion][$fila["idpago_cp_ingreso"]]=$fila["moneda_detraccion"];
            $registro[simbolo_detraccion][$fila["idpago_cp_ingreso"]]=$fila["simbolo_detraccion"];
            $registro[porc_detraccion][$fila["idpago_cp_ingreso"]]=$fila["porc_detraccion"];
            $registro[idcuenta_bancaria_detraccion][$fila["idpago_cp_ingreso"]]=$fila["idcuenta_bancaria_detraccion"];
    		//comprobantes
            $registro[idcp_ingreso][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["idcp_ingreso"];
            $registro[serie][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["serie"];
            $registro[numero][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["numero"];
            $registro[cp_femision][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["cp_femision"];
            $registro[tipo_cp][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["tipo_cp"];
            $registro[total][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["total"];
            $registro[igv][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["igv"];
            $registro[monto_afecto][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["monto_afecto"];
            $registro[monto_inafecto][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["monto_inafecto"];
            $registro[monto_detraccion][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["monto_detraccion"];
            $registro[monto_retencion][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["monto_retencion"];
            $registro[monto][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["monto"];
            $registro[pago_acuenta][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila["pago_acuenta"];
            //$i++;
            //cuenta bancaria
            $registro[numero_cuenta][$fila["idpago_cp_ingreso"]]=$fila["numero_cuenta"];
            $registro[idcuenta_bancaria][$fila["idpago_cp_ingreso"]]=$fila["idcuenta_bancaria"];
            $registro[banco][$fila["idpago_cp_ingreso"]]=$fila["banco"];
            //
            $registro[esta_pagado_algun_responsable][$fila["idpago_cp_ingreso"]][$fila["idcp_ingreso"]]=$fila[esta_pagado_algun_responsable];

        }
            return $registro;
    }
    
    function cp_ingreso_pago($busca,$idcliente){//modificada juanca
        if($busca!=null && $busca!=""){
            list($serie,$numero)=explode("-",$busca);
            $concatena_serie_numero=" AND cp_ingreso.serie LIKE '".$serie."%'
            AND cp_ingreso.numero LIKE '".$numero."%'";
        }else{
            $concatena_serie_numero="";
        }
        $sql="SELECT 
          cp_ingreso.idcp_ingreso,
          cp_ingreso.idtipo_cp,
          tipo_cp.descripcion AS tipo_cp,
          cp_ingreso.idcp_origen,
          cp_origen.nombre,
          cp_ingreso.idmoneda,
          moneda.simbolo,
          moneda.descripcion AS moneda,
          cp_ingreso.serie,
          cp_ingreso.numero,
          cp_ingreso.fecha,
          cp_ingreso.razon_social,
          cp_ingreso.ruc,
          cp_ingreso.total,
          cp_ingreso.esta_activo,
          cp_ingreso.esta_anulada,
          cp_ingreso.fecha_pago,
          cp_ingreso.idpago_cp_ingreso,
          cp_ingreso.idpersona,
          cp_ingreso.idempresa,
          cp_ingreso.pago_acuenta
        FROM
          cp_ingreso
          INNER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
          LEFT OUTER JOIN cp_origen ON (cp_ingreso.idcp_origen = cp_origen.idcp_origen)
          LEFT OUTER JOIN moneda ON (cp_ingreso.idmoneda = moneda.idmoneda) 
        WHERE 
          (cp_ingreso.idpersona='".$idcliente."' OR cp_ingreso.idempresa='".$idcliente."') AND 
          (cp_ingreso.esta_anulada = '0' OR cp_ingreso.esta_anulada IS NULL) AND 
          (cp_ingreso.esta_pagada = '0' OR cp_ingreso.esta_pagada IS NULL)
          ".$concatena_serie_numero." 
        ORDER BY
		  cp_ingreso.fecha DESC,
		  cp_ingreso.idcp_ingreso DESC";
        //echo $sql;
    	$result=$this->sql->consultar($sql,"sigh");
        
        return $result;
    }
    
    function cp_ingreso_sin_detraccion($busca,$idaseguradora){
    	//actualizado 06/01/2009 kitandole factura_aseguradora a la detraccion
    	list($serie,$numero) = explode("-",$busca);
    	$i=0;
    	
    	$sql="SELECT DISTINCT 
		  tipo_cp.descripcion AS dtipo_cp,
		  moneda.simbolo,
		  moneda.descripcion AS dmoneda,
		  cp_ingreso.idcp_ingreso,
		  cp_ingreso.serie,
		  cp_ingreso.numero,
		  cp_ingreso.fecha,
		  cp_ingreso.total,
		  cp_ingreso.ruc,
		  cp_ingreso.razon_social,
		  cp_ingreso.esta_anulada,
		  cp_ingreso.esta_pagada,
		  cp_ingreso.idcp_origen,
		  factura_aseguradora.subtotal,
		  factura_aseguradora.igv,
		  factura_aseguradora.idestado_factura,
		  factura_aseguradora.impresa_resumida		  
		FROM
		  cp_ingreso
		  LEFT OUTER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
		  LEFT OUTER JOIN moneda ON (cp_ingreso.idmoneda = moneda.idmoneda)
		  INNER JOIN factura_aseguradora ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
		WHERE   
		  cp_ingreso.serie LIKE '%".$serie."%' AND 
		  cp_ingreso.numero LIKE '%".$numero."%' AND 
		  cp_ingreso.idcp_origen = '3' AND 
		  cp_ingreso.esta_anulada='0' AND 
  		  cp_ingreso.esta_pagada='0' AND 
  		  cp_ingreso.idtipo_cp<>'7' AND 
		  factura_aseguradora.idestado_factura<>'5' AND 
		  factura_aseguradora.idaseguradora='".$idaseguradora."'
		ORDER BY
		  cp_ingreso.fecha DESC,
		  cp_ingreso.idcp_ingreso DESC";
    	$result=$this->sql->consultar($sql,"sigh");
    	
    	while(!!$fila=mysql_fetch_array($result)){

            $registro[id][$i]=$fila["idcp_ingreso"];
            $registro[serie][$i]=$fila["serie"];
            $registro[numero][$i]=$fila["numero"];
            $registro[fecha][$i]=$fila["fecha"];
            $registro[simbolo][$i]=$fila["simbolo"];
            $registro[tipo_cp][$i]=$fila["dtipo_cp"];            
			$registro[subtotal][$i]=$fila["subtotal"];   
			$registro[igv][$i]=$fila["igv"];        
            $registro[total][$i]=$fila["total"];
            $registro[razon_social][$i]=$fila["razon_social"];
            $registro[ruc][$i]=$fila["ruc"];             
            $registro[esta_anulada][$i]=$fila["esta_anulada"];
            $registro[esta_pagada][$i]=$fila["esta_pagada"];
            $registro[idusuario][$i]=$fila["idusuario"];            
            $registro[resumida][$i]=$fila["impresa_resumida"];
                        
            $i++;
        }
        return $registro;
    }
    
    function lista_cp_detraccion($busqueda,$fechai,$fechaf,$idaseguradora){
    	//actualizado 06/01/2009 kitandole factura_aseguradora a la detraccion
          $busqueda=trim($busqueda);
    	list($serie,$numero) = explode("-",$busqueda);    		
    	if($idaseguradora==0){
    		$condicion="";
    	}else{
    		$condicion="AND factura_aseguradora.idaseguradora='".$idaseguradora."'";
    	}
    	$i=0;
    	$sql="SELECT DISTINCT 
		  tipo_cp.descripcion AS dtipo_cp,
		  moneda.simbolo,
		  cp_ingreso.idcp_ingreso,
		  cp_ingreso.serie,
		  cp_ingreso.numero,
		  cp_ingreso.fecha,
		  cp_ingreso.total,
		  cp_ingreso.idusuario,
		  cp_ingreso.ruc,
		  cp_ingreso.razon_social,
		  cp_ingreso.esta_anulada,
		  cp_ingreso.esta_pagada,
		  cp_ingreso_referencia.comentario,
		  factura_aseguradora.idaseguradora
		FROM
		  cp_ingreso
		  LEFT OUTER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
		  LEFT OUTER JOIN moneda ON (cp_ingreso.idmoneda = moneda.idmoneda)
		  INNER JOIN cp_ingreso_referencia ON (cp_ingreso.idcp_ingreso = cp_ingreso_referencia.idcp_ingreso)
		  INNER JOIN cp_ingreso cp_ingreso1 ON (cp_ingreso_referencia.idcp_ingreso_referencia = cp_ingreso1.idcp_ingreso)
		  INNER JOIN factura_aseguradora ON (cp_ingreso1.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
  		WHERE 		   
		  cp_ingreso.fecha>='".$fechai."' 
		  AND cp_ingreso.fecha<='".$fechaf."' 
		  AND cp_ingreso.serie LIKE '%".$serie."%' 
		  AND cp_ingreso.numero LIKE '%".$numero."%' 
		  AND cp_ingreso.idcp_origen='3' 
		  AND cp_ingreso.idtipo_cp='7' 
		  ".$condicion."
		ORDER BY
          cp_ingreso.fecha DESC,cp_ingreso.idcp_ingreso DESC";
        $result=$this->sql->consultar($sql,"sigh");
        
        while(!!$fila=mysql_fetch_array($result)){

            $registro[id][$i]=$fila["idcp_ingreso"];
            $registro[serie][$i]=$fila["serie"];
            $registro[numero][$i]=$fila["numero"];
            $registro[fecha][$i]=$fila["fecha"];
            $registro[simbolo][$i]=$fila["simbolo"];
            $registro[tipo_cp][$i]=$fila["dtipo_cp"];			      
            $registro[total][$i]=$fila["total"];
            $registro[razon_social][$i]=$fila["razon_social"];
            $registro[ruc][$i]=$fila["ruc"];            
            $registro[esta_anulada][$i]=$fila["esta_anulada"];
            $registro[esta_pagada][$i]=$fila["esta_pagada"];
            $registro[idusuario][$i]=$fila["idusuario"];            
                        
            $i++;
        }
        return $registro;
    }
    
     function lista_cp_ingreso_facturacion($busqueda,$fechai,$fechaf,$idaseguradora){
    	  $busqueda=trim($busqueda);
    	list($serie,$numero) = explode("-",$busqueda);
        if($busqueda==null || $busqueda==""){
   		 $sql_fecha=" AND cp_ingreso.fecha>='".$fechai."' AND cp_ingreso.fecha<='".$fechaf."' ";
            if($idaseguradora==0){
                $condicion="";
            }else{
                $condicion="AND factura_aseguradora.idaseguradora='".$idaseguradora."'";
            }
        }else{
            $sql_cp=" AND cp_ingreso.serie LIKE '%".$serie."%' AND cp_ingreso.numero LIKE '%".$numero."%' ";
        }
    	//$i=0;
        $sql="SELECT DISTINCT
          tipo_cp.descripcion AS dtipo_cp,
          moneda.simbolo,
          moneda.descripcion AS dmoneda,
          cp_origen.idcp_origen,
          cp_origen.nombre AS dcp_origen,
          cp_ingreso.idcp_ingreso,
          cp_ingreso.serie,
          cp_ingreso.numero,
          cp_ingreso.fecha,
          cp_ingreso.total,
          cp_ingreso.idusuario,
          cp_ingreso.ruc,
          cp_ingreso.razon_social,
          cp_ingreso.esta_anulada,
          cp_ingreso.esta_pagada,
          cp_ingreso.monto_nota_credito,
          cp_ingreso.idtipo_cp,
          estado_factura.descripcion AS destado_factura,
          expediente_facturacion.numero_expediente,
          expediente_facturacion.idexpediente_facturacion,
          factura_aseguradora.impresa_resumida,
          factura_aseguradora.subtotal,
          factura_aseguradora.igv,
          cp_ingreso_referencia.idcp_ingreso_referencia,
          cp_ingreso_referencia.serie_referencia,
          cp_ingreso_referencia.numero_referencia,
          cp_ingreso_referencia1.idcp_ingreso AS idcp_factura,
          cp_ingreso_referencia1.serie AS serie_factura,
          cp_ingreso_referencia1.numero AS numero_factura,
          cp_ingreso1.idtipo_cp AS idtipo_factura,
          admision_factura_aseguradora1.idexpediente_facturacion AS idexpediente_facturacion1
		FROM
		  cp_ingreso
          LEFT OUTER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
          LEFT OUTER JOIN moneda ON (cp_ingreso.idmoneda = moneda.idmoneda)
          LEFT OUTER JOIN cp_origen ON (cp_ingreso.idcp_origen = cp_origen.idcp_origen)
          INNER JOIN factura_aseguradora ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
          LEFT OUTER JOIN estado_factura ON (factura_aseguradora.idestado_factura = estado_factura.idestado_factura)
          LEFT OUTER JOIN admision_factura_aseguradora ON (factura_aseguradora.idcp_aseguradora = admision_factura_aseguradora.idcp_aseguradora)
          LEFT OUTER JOIN expediente_facturacion ON (admision_factura_aseguradora.idexpediente_facturacion = expediente_facturacion.idexpediente_facturacion)
          LEFT OUTER JOIN cp_ingreso_referencia ON (cp_ingreso.idcp_ingreso = cp_ingreso_referencia.idcp_ingreso)
          LEFT OUTER JOIN cp_ingreso_referencia cp_ingreso_referencia1 ON (cp_ingreso.idcp_ingreso = cp_ingreso_referencia1.idcp_ingreso_referencia)
          LEFT OUTER JOIN cp_ingreso cp_ingreso1 ON (cp_ingreso_referencia1.idcp_ingreso = cp_ingreso1.idcp_ingreso)
          LEFT OUTER JOIN factura_aseguradora factura_aseguradora1 ON (cp_ingreso1.idcp_ingreso = factura_aseguradora1.idcp_aseguradora)
          LEFT OUTER JOIN admision_factura_aseguradora admision_factura_aseguradora1 ON (factura_aseguradora1.idcp_aseguradora = admision_factura_aseguradora1.idcp_aseguradora)
		WHERE
		  cp_ingreso.esta_activo='1'
		  AND cp_origen.idcp_origen='3'
          $sql_fecha
		  ".$condicion."
          $sql_cp
		ORDER BY
          cp_ingreso.fecha DESC,cp_ingreso.idcp_ingreso DESC";
    	$result=$this->sql->consultar($sql,"sigh");
        //echo $sql;
        while(!!$fila=mysql_fetch_array($result)){
            $registro[id][$fila["idcp_ingreso"]]=$fila["idcp_ingreso"];
            $registro[idexpediente_facturacion][$fila["idcp_ingreso"]]=$fila["idexpediente_facturacion"];
            $registro[idexpediente_facturacion1][$fila["idcp_ingreso"]]=$fila["idexpediente_facturacion1"];
            $registro[serie][$fila["idcp_ingreso"]]=$fila["serie"];
            $registro[numero][$fila["idcp_ingreso"]]=$fila["numero"];
            $registro[fecha][$fila["idcp_ingreso"]]=$fila["fecha"];
            $registro[simbolo][$fila["idcp_ingreso"]]=$fila["simbolo"];
            $registro[tipo_cp][$fila["idcp_ingreso"]]=$fila["dtipo_cp"];
            $registro[cp_origen][$fila["idcp_ingreso"]]=$fila["dcp_origen"];
            $registro[subtotal][$fila["idcp_ingreso"]]=$fila["subtotal"];
            $registro[igv][$fila["idcp_ingreso"]]=$fila["igv"];
            $registro[total][$fila["idcp_ingreso"]]=$fila["total"];
            $registro[razon_social][$fila["idcp_ingreso"]]=$fila["razon_social"];
            $registro[ruc][$fila["idcp_ingreso"]]=$fila["ruc"];
            $registro[estado_factura][$fila["idcp_ingreso"]]=$fila["destado_factura"];
            $registro[esta_anulada][$fila["idcp_ingreso"]]=$fila["esta_anulada"];
            $registro[esta_pagada][$fila["idcp_ingreso"]]=$fila["esta_pagada"];
            $registro[idusuario][$fila["idcp_ingreso"]]=$fila["idusuario"];
            $registro[num_expediente][$fila["idcp_ingreso"]]=$fila["numero_expediente"];
            $registro[resumida][$fila["idcp_ingreso"]]=$fila["impresa_resumida"];
            $registro[monto_nota_credito][$fila["idcp_ingreso"]]=$fila["monto_nota_credito"];
            $registro[idtipo_cp][$fila["idcp_ingreso"]]=$fila["idtipo_cp"];
            //datos de las notas de credito q afectan al cp
            $registro[idcp_ingreso_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["idcp_ingreso_referencia"];
            $registro[serie_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["serie_referencia"];
            $registro[numero_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["numero_referencia"];
            //de tratarse de una nota de  credito estos son los datos de la factura q afectan
            $registro[idcp_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["idcp_factura"];
            $registro[serie_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["serie_factura"];
            $registro[numero_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["numero_factura"];
            $registro[idtipo_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["idtipo_factura"];
            /*$registro[id][$i]=$fila["idcp_ingreso"];
			$registro[idexpediente_facturacion][$i]=$fila["idexpediente_facturacion"]; //id del expediente del facturacion
            $registro[serie][$i]=$fila["serie"];
            $registro[numero][$i]=$fila["numero"];
            $registro[fecha][$i]=$fila["fecha"];
            $registro[simbolo][$i]=$fila["simbolo"];
            $registro[tipo_cp][$i]=$fila["dtipo_cp"];
            $registro[cp_origen][$i]=$fila["dcp_origen"];
			$registro[subtotal][$i]=$fila["subtotal"];
			$registro[igv][$i]=$fila["igv"];
            $registro[total][$i]=$fila["total"];
            $registro[razon_social][$i]=$fila["razon_social"];
            $registro[ruc][$i]=$fila["ruc"];
            $registro[estado_factura][$i]=$fila["destado_factura"];
            $registro[esta_anulada][$i]=$fila["esta_anulada"];
            $registro[esta_pagada][$i]=$fila["esta_pagada"];
            $registro[idusuario][$i]=$fila["idusuario"];
            $registro[num_expediente][$i]=$fila["numero_expediente"];
            $registro[resumida][$i]=$fila["impresa_resumida"];
            $registro[monto_nota_credito][$i]=$fila["monto_nota_credito"];
            $registro[idtipo_cp][$i]=$fila["idtipo_cp"];
            //datos de las notas de credito q afectan al cp
            $registro[idcp_ingreso_referencia][$i]=$fila["idcp_ingreso_referencia"];
            $registro[serie_referencia][$i]=$fila["serie_referencia"];
            $registro[numero_referencia][$i]=$fila["numero_referencia"];
            //de tratarse de una nota de  credito estos son los datos de la factura q afectan
            $registro[idcp_factura][$i]=$fila["idcp_factura"];
            $registro[serie_factura][$i]=$fila["serie_factura"];
            $registro[numero_factura][$i]=$fila["numero_factura"];
            $registro[idtipo_factura][$i]=$fila["idtipo_factura"];
            $i++;*/
        }
        return $registro;
    }


    function lista_factura_aseguradora($busca,$idaseguradora){
    	if($busca!=null){
    		$numero_comprobante=split("-",$busca);
    		$serie=$numero_comprobante[0];
    		$numero=$numero_comprobante[1];
    		if($serie!=null){
    			$concatena_serie=" AND cp_ingreso.serie LIKE '".$serie."%' ";
    		}
    		if($numero!=null){
    			$concatena_numero=" AND cp_ingreso.numero LIKE '".$numero."%' ";
    		}
    	}

       $sql="SELECT DISTINCT
		  factura_aseguradora.idcp_aseguradora,
		  factura_aseguradora.monto_afecto,
		  factura_aseguradora.monto_inafecto,
		  factura_aseguradora.idaseguradora,
		  cp_ingreso.serie,
		  cp_ingreso.numero,
		  cp_ingreso.fecha,
		  cp_ingreso.total,
		  cp_ingreso.esta_anulada,
		  empresa.razon_social,
		  empresa.nombre_comercial,
		  detalle_lote_trama.idcp_aseguradora AS idcp_aseguradora_trama
		FROM
		  cp_ingreso
		  INNER JOIN factura_aseguradora ON (cp_ingreso.idcp_ingreso = factura_aseguradora.idcp_aseguradora)
		  LEFT OUTER JOIN empresa ON (factura_aseguradora.idaseguradora = empresa.idempresa)
  		  LEFT OUTER JOIN detalle_lote_trama ON (factura_aseguradora.idcp_aseguradora = detalle_lote_trama.idcp_aseguradora)
		WHERE
		  (cp_ingreso.esta_anulada<>'1' OR cp_ingreso.esta_anulada IS NULL) AND
		  factura_aseguradora.idaseguradora='".$idaseguradora."'
		  ".$concatena_serie."
		  ".$concatena_numero."
		ORDER BY
		  cp_ingreso.fecha DESC, factura_aseguradora.idcp_aseguradora DESC";

        $result=$this->sql->consultar($sql,"sigh");

        return $result;
    }

    //lista los cp de farmacia
    function lista_cp_ingreso($idfarmacia,$idadmision){
    	$i=0;
    	if($idadmision==""){//externo
    		$concatena_admision=" AND cpv_farmacia.idadmision='0'";
    		$concatena_farmacia=" AND cpv_farmacia.idfarmacia=".$idfarmacia."";
    		$concatena_pagada=" AND cp_ingreso.esta_pagada='1'";
    		$concatena_fecha=" AND cp_ingreso.fecha='".date('Y-m-d')."'";
		}else{//paciente
			$concatena_admision=" AND cpv_farmacia.idadmision=".$idadmision."";
			$concatena_farmacia="";
			$concatena_pagada="";
			$concatena_fecha="";
		}
	        
		$sql="SELECT 
          tipo_cp.idtipo_cp AS idtipo_cp,
          tipo_cp.descripcion AS dtipo_cp,        
          moneda.idmoneda AS idmoneda,
          moneda.simbolo,
          moneda.descripcion AS dmoneda,
          cp_origen.idcp_origen,
          cp_origen.nombre AS dcp_origen,         
          cp_ingreso.idcp_ingreso,
          cp_ingreso.serie,
          cp_ingreso.numero,
          cp_ingreso.fecha,
          cp_ingreso.total,
          cp_ingreso.observacion,
          cp_ingreso.idusuario,
          cp_ingreso.esta_activo,
          cp_ingreso.esta_declarado,
          cp_ingreso.esta_anulada,
          cp_ingreso.esta_pagada,
          cp_ingreso.asiento_realizado,
          cp_ingreso.documento_fisico,
          cpv_farmacia.idfarmacia,
          cpv_farmacia.razon_social,
          cpv_farmacia.ruc,
          cpv_farmacia.idadmision AS idadmision
        FROM
          cp_ingreso
          LEFT OUTER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
          LEFT OUTER JOIN moneda ON (cp_ingreso.idmoneda = moneda.idmoneda)
          LEFT OUTER JOIN cp_origen ON (cp_ingreso.idcp_origen = cp_origen.idcp_origen)
          INNER JOIN cpv_farmacia ON (cp_ingreso.idcp_ingreso = cpv_farmacia.idcpv_farmacia)
        WHERE
          cp_ingreso.esta_activo='1' 
          ".$concatena_admision."
          ".$concatena_farmacia."			  
		  ".$concatena_pagada."
		  ".$concatena_fecha."	
        ORDER BY
          cp_ingreso.fecha DESC, cp_ingreso.idcp_ingreso DESC";
    	
    	//echo $sql;
        $result=$this->sql->consultar($sql,"sigh");
        
        while(!!$fila=mysql_fetch_array($result)){

            $registro[id][$i]=$fila["idcp_ingreso"];
            $registro[serie][$i]=$fila["serie"];
            $registro[numero][$i]=$fila["numero"];
            $registro[fecha][$i]=$fila["fecha"];
            $registro[simbolo][$i]=$fila["simbolo"];
            $registro[tipo_cp][$i]=$fila["dtipo_cp"];
            $registro[cp_origen][$i]=$fila["dcp_origen"];            
            $registro[total][$i]=$fila["total"];
            $registro[razon_social][$i]=$fila["razon_social"];
            $registro[ruc][$i]=$fila["ruc"];
            $registro[esta_anulada][$i]=$fila["esta_anulada"];
            $registro[idadmision][$i]=$fila["idadmision"];
            
            $i++;
        }
        return $registro;
    }
    
    #--lista_cp_ingreso_comprobante+lista_cp_ingreso_admision=lista_cp_ingreso_farmacia--#
    #--uni dos funciones en una sola
    function lista_cp_ingreso_farmacia($busqueda,$fechai,$fechaf,$por){
    	  $busqueda=trim($busqueda);
    	if($busqueda==null || $busqueda==""){//si no hay naa tons busca el rango de fechas
    		$concatena_serie_numero="";
    		$concatena_admision="";
    		$concatena_fechas=" AND cp_ingreso.fecha>='".$fechai."' AND cp_ingreso.fecha<='".$fechaf."' ";
    	}else{
    		if($por=="comprobante"){
	    		//sacamos la serie y el numero del input enviado
	    		list($serie,$numero) = explode("-",$busqueda);
	    		$concatena_serie_numero=" AND cp_ingreso.serie = '".$serie."' AND cp_ingreso.numero = '".$numero."%' ";
	    		$concatena_admision="";
				$concatena_fechas="";
	    	}elseif($por=="admision"){
	    		$concatena_serie_numero="";
	    		$concatena_admision=" AND cpv_farmacia.idadmision = '".$busqueda."' ";
	    		$concatena_fechas="";
	    	}
    	}
		//$i=0;
        //CAST(cp_ingreso.serie AS char(3)) as serie,
        //CAST(cp_ingreso.numero as char(6)) as numero,
        $sql="SELECT
            tipo_cp.idtipo_cp AS idtipo_cp,
            tipo_cp.descripcion AS dtipo_cp,
            moneda.idmoneda AS idmoneda,
            moneda.simbolo,
            moneda.descripcion AS dmoneda,
            cp_origen.idcp_origen,
            cp_ingreso.serie,
            cp_ingreso.numero,
            cp_origen.nombre AS dcp_origen,
            cp_ingreso.idcp_ingreso,
            cp_ingreso.fecha,
            cp_ingreso.total,
            cp_ingreso.observacion,
            cp_ingreso.idusuario,
            cp_ingreso.esta_activo,
            cp_ingreso.esta_declarado,
            cp_ingreso.esta_anulada,
            cp_ingreso.esta_pagada,
            cp_ingreso.asiento_realizado,
            cp_ingreso.documento_fisico,
            cp_ingreso.ruc,
  			cp_ingreso.razon_social,
            cpv_farmacia.idfarmacia,
            cpv_farmacia.idadmision AS idadmision,
            cp_ingreso.monto_nota_credito,
            cp_ingreso_referencia.idcp_ingreso_referencia,
            cp_ingreso_referencia.serie_referencia,
            cp_ingreso_referencia.numero_referencia,
            cp_ingreso_referencia1.idcp_ingreso AS idcp_factura,
            cp_ingreso_referencia1.serie AS serie_factura,
            cp_ingreso_referencia1.numero AS numero_factura,
            cp_ingreso1.idtipo_cp AS idtipo_factura
        FROM
            cp_ingreso
            LEFT OUTER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
            LEFT OUTER JOIN moneda ON (cp_ingreso.idmoneda = moneda.idmoneda)
            LEFT OUTER JOIN cp_origen ON (cp_ingreso.idcp_origen = cp_origen.idcp_origen)
            INNER JOIN cpv_farmacia ON (cp_ingreso.idcp_ingreso = cpv_farmacia.idcpv_farmacia)
            LEFT OUTER JOIN cp_ingreso_referencia ON (cp_ingreso.idcp_ingreso = cp_ingreso_referencia.idcp_ingreso)
            LEFT OUTER JOIN cp_ingreso_referencia cp_ingreso_referencia1 ON (cp_ingreso.idcp_ingreso = cp_ingreso_referencia1.idcp_ingreso_referencia)
            LEFT OUTER JOIN cp_ingreso cp_ingreso1 ON (cp_ingreso_referencia1.idcp_ingreso = cp_ingreso1.idcp_ingreso)
        WHERE
        	cp_ingreso.esta_activo='1'
            ".$concatena_serie_numero."
            ".$concatena_admision."
            ".$concatena_fechas."
        ORDER BY
            cp_ingreso.fecha DESC, cp_ingreso.idcp_ingreso DESC";

        $result=$this->sql->consultar($sql,"sigh");
        //echo $sql;
        while(!!$fila=mysql_fetch_array($result)){

            $registro[id][$fila["idcp_ingreso"]]=$fila["idcp_ingreso"];
            $registro[serie][$fila["idcp_ingreso"]]=$fila["serie"];
            $registro[numero][$fila["idcp_ingreso"]]=$fila["numero"];
            $registro[fecha][$fila["idcp_ingreso"]]=$fila["fecha"];
            $registro[simbolo][$fila["idcp_ingreso"]]=$fila["simbolo"];
            $registro[idtipo_cp][$fila["idcp_ingreso"]]=$fila["idtipo_cp"];
            $registro[tipo_cp][$fila["idcp_ingreso"]]=$fila["dtipo_cp"];
            $registro[cp_origen][$fila["idcp_ingreso"]]=$fila["dcp_origen"];
            $registro[total][$fila["idcp_ingreso"]]=$fila["total"];
            $registro[razon_social][$fila["idcp_ingreso"]]=$fila["razon_social"];
            $registro[ruc][$fila["idcp_ingreso"]]=$fila["ruc"];
            $registro[esta_anulada][$fila["idcp_ingreso"]]=$fila["esta_anulada"];
            $registro[idadmision][$fila["idcp_ingreso"]]=$fila["idadmision"];
            $registro[monto_nota_credito][$fila["idcp_ingreso"]]=$fila["monto_nota_credito"];
            //datos de las notas de credito q afectan al cp
            $registro[idcp_ingreso_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["idcp_ingreso_referencia"];
            $registro[serie_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["serie_referencia"];
            $registro[numero_referencia][$fila["idcp_ingreso"]][$fila["idcp_ingreso_referencia"]]=$fila["numero_referencia"];
            //de tratarse de una nota de  credito estos son los datos de la factura q afectan
            $registro[idcp_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["idcp_factura"];
            $registro[serie_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["serie_factura"];
            $registro[numero_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["numero_factura"];
            $registro[idtipo_factura][$fila["idcp_ingreso"]][$fila["idcp_factura"]]=$fila["idtipo_factura"];

            /*$registro[id][$i]=$fila["idcp_ingreso"];
            $registro[serie][$i]=$fila["serie"];
            $registro[numero][$i]=$fila["numero"];
            $registro[fecha][$i]=$fila["fecha"];
            $registro[simbolo][$i]=$fila["simbolo"];
            $registro[idtipo_cp][$i]=$fila["idtipo_cp"];
            $registro[tipo_cp][$i]=$fila["dtipo_cp"];
            $registro[cp_origen][$i]=$fila["dcp_origen"];
            $registro[total][$i]=$fila["total"];
            $registro[razon_social][$i]=$fila["razon_social"];
            $registro[ruc][$i]=$fila["ruc"];
            $registro[esta_anulada][$i]=$fila["esta_anulada"];
            $registro[idadmision][$i]=$fila["idadmision"];
            $registro[monto_nota_credito][$i]=$fila["monto_nota_credito"];
            $i++;*/
        }
        return $registro;
    }

    function lista_comprobantes_admision($idadmision){
    	$i=0;
		$sql="SELECT 
		  tipo_cp.idtipo_cp,
		  tipo_cp.descripcion AS dtipo_cp,
		  moneda.idmoneda,
		  moneda.simbolo,
		  moneda.descripcion AS dmoneda,
		  cp_origen.idcp_origen,
		  cp_origen.nombre AS dcp_origen,
		  cp_ingreso.idcp_ingreso,
		  cp_ingreso.serie,
		  cp_ingreso.numero,
		  cp_ingreso.fecha,
		  cp_ingreso.total,
		  cp_ingreso.observacion,
		  cp_ingreso.idusuario,
		  cp_ingreso.esta_activo,
		  cp_ingreso.esta_declarado,
		  cp_ingreso.esta_anulada,
		  cp_ingreso.esta_pagada,
		  cp_ingreso.asiento_realizado,
		  cp_ingreso.documento_fisico,
		  cp_ingreso.razon_social,
		  cp_ingreso.ruc,
		  cpv_admision.idadmision
		FROM
		  cp_ingreso
		  LEFT OUTER JOIN tipo_cp ON (cp_ingreso.idtipo_cp = tipo_cp.idtipo_cp)
		  LEFT OUTER JOIN moneda ON (cp_ingreso.idmoneda = moneda.idmoneda)
		  LEFT OUTER JOIN cp_origen ON (cp_ingreso.idcp_origen = cp_origen.idcp_origen)
		  INNER JOIN cpv_admision ON (cp_ingreso.idcp_ingreso = cpv_admision.idcpv_admision)
        WHERE
          cpv_admision.idadmision=".$idadmision." 
          AND cp_ingreso.esta_activo='1'
        ORDER BY
          cp_ingreso.fecha DESC, cp_ingreso.idcp_ingreso DESC";

        $result=$this->sql->consultar($sql,"sigh");
        
        while(!!$fila=mysql_fetch_array($result)){

            $registro[idtipo_cp][$i]=$fila["idtipo_cp"];
            $registro[dtipo_cp][$i]=$fila["dtipo_cp"];
            $registro[idmoneda][$i]=$fila["idmoneda"];
            $registro[simbolo][$i]=$fila["simbolo"];
            $registro[dmoneda][$i]=$fila["dmoneda"];
            $registro[idcp_origen][$i]=$fila["idcp_origen"];
            $registro[dcp_origen][$i]=$fila["dcp_origen"];
            $registro[idcp_ingreso][$i]=$fila["idcp_ingreso"];
            $registro[serie][$i]=$fila["serie"];
            $registro[numero][$i]=$fila["numero"];
            $registro[fecha][$i]=$fila["fecha"];
            $registro[total][$i]=$fila["total"];
            $registro[observacion][$i]=$fila["observacion"];
            $registro[idusuario][$i]=$fila["idusuario"];
            $registro[esta_activo][$i]=$fila["esta_activo"];
            $registro[esta_declarado][$i]=$fila["esta_declarado"];
            $registro[esta_anulada][$i]=$fila["esta_anulada"];
            $registro[esta_pagada][$i]=$fila["esta_pagada"];
            $registro[asiento_realizado][$i]=$fila["asiento_realizado"];
            $registro[documento_fisico][$i]=$fila["documento_fisico"];
            $registro[razon_social][$i]=$fila["razon_social"];
            $registro[ruc][$i]=$fila["ruc"];
            $registro[idadmision][$i]=$fila["idadmision"];
            $i++;
        }
        return $registro;
    }    
}
?>